Я играю с базой данных flights
, которая включена в библиотеку nycflights13
, и я подумал, что может быть интересно выбрать одну (или любое количество) переменных вручную, а затем некоторые другие по условию (например, «перевозчик», а затем все числовые c переменных). Это можно сделать в три этапа, например:
library(nycflights13)
data(flights)
flights
a <- flights[,"carrier", drop=FALSE]
b <- flights[, lapply(flights,is.numeric) == TRUE, drop=FALSE]
ab <- cbind(a,b)
str(ab) # 'data.frame': 336776 obs. of 15 variables:
Но это не работает:
flights[, "carrier" & c(lapply(flights,is.numeric)) == TRUE, drop=FALSE]
flights[, "carrier" & lapply(flights,is.numeric) == TRUE, drop=FALSE]
Error in "carrier" & lapply(flights, is.numeric) == TRUE :
solo son posibles operaciones para variables de tipo numérico, compleja o lógico
Я должен сказать, select_if
из tidyverse
также бесполезно .
Итак, мой вопрос: возможно ли достичь того, что я хочу сделать, одним вызовом и как это можно сделать? Спасибо за любой комментарий или предложение