Данные:
df <- data.frame(
char = c("hi there", "how're you", "what's up"),
int = 1:3,
fac = c("A", "B", "C"),
stringsAsFactors = F
)
str(df)
'data.frame': 3 obs. of 3 variables:
$ char: chr "hi there" "how're you" "what's up"
$ int : int 1 2 3
$ fac : chr "A" "B" "C"
Вы можете выбрать столбцы, разделив фрейм данных по типу данных, таким образом:
df[sapply(df, is.character)]
char fac
1 hi there A
2 how're you B
3 what's up C
Здесь sapply
применяет функцию is.character
к каждому из столбцы в df
. Сама функция запускает тест - имеет ли столбец тип «символ»? - и возвращает TRUE или FALSE соответственно.