У меня есть этот фрейм данных, который я формирую, считывая URL-адрес. Когда я читаю URL-адрес, я получаю смешанные данные. Я хотел бы быть в состоянии сделать две вещи:как вы подмножите данные на основе регулярных выражений в R
подмножество ФР, так что COLNAMES будет включать в себя только CPU.Percent в них (иногда по какой-то причине я получаю память или использование дискового пространства, мне нужно, чтобы удалить эти столбцы).
COLNAMES должен включать только имена серверов, например dc1server, dc1web и т.д.
Вот мой кадр данных называется ДФ:
dput (ДФ)
structure(list(Time = structure(1:2, .Label = c("1/13/2015",
"1/14/2015"), class = "factor"), WEB..Linux..Total.CPU.Percent.Utilization.on.dc1server.Utilization = structure(1:2, .Label = c("3.67%",
"3.75%"), class = "factor"), WEB..Linux..Total.CPU.Percent.Utilization.on.dc1web2.Utilization = structure(c(2L,
1L), .Label = c("13.08%", "13.25%"), class = "factor"), WTAD..Linux..Virtual.Memory.on.dc1server1.Percent.Used = structure(c(2L,
1L), .Label = c("9%", "9.42%"), class = "factor")), .Names = c("Time",
"WEB..Linux..Total.CPU.Percent.Utilization.on.dc1server.Utilization",
"WEB..Linux..Total.CPU.Percent.Utilization.on.dc1web2.Utilization",
"WTAD..Linux..Virtual.Memory.on.dc1server1.Percent.Used"), class = "data.frame", row.names = c(NA,
-2L))
Для 1.
Я пробовал:
data<-subset(df, grep("CPU.Percent", colnames(df))
Не работает
для 2:
Я пробовал:
colnames(df)<-gsub(colnames(df), grep(".(dc1.*).",colnames(df))
не повезло, какие-либо идеи, что я могу делать здесь?
Re: ваша попытка на 1 - помните подмножество() требует логического вектора для второго операнда, но Grep возвращает список идентификаторов столбцов. Итак, «[», как показано в решении @ blakeoft, - это путь. –