LINUX.ORG.RU

colnames(x)[apply(x,2,condition)]

где condition - функция, возвращающая TRUE или FALSE в зависимости от проверки условия на колонке x.

anonymous
()
Ответ на: комментарий от LIKAN

Базовую документацию почитай.

anonymous
()
Ответ на: комментарий от psv1967

А то же самое, только для номеров как сделать?

LIKAN ★★★
() автор топика
Ответ на: комментарий от psv1967

В чем сложность. Есть две таблицы с одинаковым кол-вом колонок и их именами. В первой таблице нужно выделить колонки по условию и удалить их в обоих таблицах. Если делаю

ZVcolnames <- colnames(dataset)[apply(dataset,2,function(v) var(v, na.rm=TRUE)!=0)]
testdataset <- testdataset[ZVcolnames]
То получаю
Ошибка в `[.data.frame`(testdataset, , NAcolnames) : 
  undefined columns selected

LIKAN ★★★
() автор топика
Ответ на: комментарий от LIKAN
> iris[colnames(iris)[(apply(iris,2,function(v) 1))]]
    Sepal.Length Sepal.Length.1 Sepal.Length.2 Sepal.Length.3 Sepal.Length.4
1            5.1            5.1            5.1            5.1            5.1
2            4.9            4.9            4.9            4.9            4.9
3            4.7            4.7            4.7            4.7            4.7
.....
> iris[colnames(iris)[as.logical(apply(iris,2,function(v) 1))]]
    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
1            5.1         3.5          1.4         0.2     setosa
2            4.9         3.0          1.4         0.2     setosa
3            4.7         3.2          1.3         0.2     setosa
....

> colnames(iris)[apply(iris,2,function(v) var(v, na.rm=TRUE)!=0)]
[1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width"  NA            
Предупреждение
In var(v, na.rm = TRUE) : в результате преобразования созданы NA


всё как бы работает, а какие str(data) у тебя?

psv1967 ★★★★★
()
Последнее исправление: psv1967 (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.