LINUX.ORG.RU

История изменений

Исправление psv1967, (текущая версия) :

> 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, :

> 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) Vectorize(var(v, na.rm=TRUE)!=0))][2]
[1] "Sepal.Width"
Предупреждение
In var(v, na.rm = TRUE) : в результате преобразования созданы NA

Исправление psv1967, :

> 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
....

Исходная версия psv1967, :

> 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
.....