У меня есть таблица данных с кучей столбцов, например:
dt<-data.table(matrix(runif(10*10),10,10))
Я хочу выполнить некоторую операцию в таблице данных, например, создать корреляционную матрицу (cor(dt)
). Чтобы сделать это, я хочу удалить несколько столбцов, содержащих нечисловые значения или значения вне определенного диапазона.
Скажем, я хочу найти корреляционную матрицу, исключая V1, V2, V3 и V5.
Вот мой текущий подход:
cols<-!(colnames(dt)=="V1" | colnames(dt)=="V2" | colnames(dt)=="V3" | colnames(dt)=="V5")
new_dt<-subset(dt,,cols)
cor(new_dt)
Я нахожу это довольно громоздким, учитывая, что синтаксис data.table обычно настолько изящный. Есть ли лучший способ сделать это?