Как получить только имена столбцов фрейма данных, которые начинаются с определенных символов? - PullRequest
0 голосов
/ 16 января 2020

Это мой код, который создает фрейм данных и печатает все имена столбцов:

df<-data.frame("Sp1"=1:6,"Sp2"=7:12,"Sp3"=13:18, "Dp1"=1:6)
colnames(df)

вывод:

[1] "Sp1" "Sp2" "Sp3" "Dp1 "

Теперь мне нужно получить только имена столбцов, которые начинаются с Sp, поэтому результат должен выглядеть как "Sp1" "Sp2" "Sp3". Как это сделать?

Ответы [ 2 ]

1 голос
/ 16 января 2020

Вы можете использовать регулярные выражения

grep("^Sp",colnames(df), value = TRUE)

Где ^ указывает начало строки

1 голос
/ 16 января 2020

Использование dplyr:

library(dplyr)
df <- df %>%
  select(starts_with("Sp"))
names(df)
# [1] "Sp1" "Sp2" "Sp3"

Если вы просто хотите напечатать имена, используйте:

names(df %>%
  select(starts_with("Sp")))
#[1] "Sp1" "Sp2" "Sp3"
...