Как выбрать переменные в фрейме данных R, чьи имена содержат определенную строку?
Два примера были бы очень полезны для меня.
Как выбрать:
1) переменные, имена которых начинаются с b или B (то есть без учета регистра)
или
2) переменные, имена которых содержат 3
df <- data.frame(a1 = factor(c("Hi", "Med", "Hi", "Low"),
levels = c("Low", "Med", "Hi"), ordered = TRUE),
a2 = c("A", "D", "A", "C"), a3 = c(8, 3, 9, 9),
b1 = c(1, 1, 1, 2), b2 = c( 5, 4, 3,2), b3 = c(3, 4, 3, 4),
B1 = c(3, 6, 4, 4))
Ответы
Ответ 1
Если вам просто нужны имена переменных:
grep("^[Bb]", names(df), value=TRUE)
grep("3", names(df), value=TRUE)
Если вы хотите выбрать эти столбцы, то
df[,grep("^[Bb]", names(df), value=TRUE)]
df[,grep("^[Bb]", names(df))]
Первый использует выбор по имени, второй использует выбор по набору номеров столбцов.