0

私のデータセットには 200 を超える変数があり、そのほとんどに欠損値を示すドットがあります。

年齢
19
20
.
56
23

R はドットを Null 値として認識します。だから私が使うとき

> library(Hmisc) # cut2
> split(data, cut2(data$Age, g=3))

データを 3 つのバンドに分割しようとすると、次のエラー メッセージが表示されました。

if (cj == upper) next のエラー: TRUE/FALSE が必要な場所に値がありません
。さらに: 警告メッセージ:
1: in cut2(data2$Household_Count, g = 10): 強制によって導入された NA
2: Ops.factor(x , (lower - min.dif.factor * min.dif)) : 因子には意味がない
3: Ops.factor(x, (lower - min.dif.factor * min.dif)) : 因子には意味がない
4: Ops.factor(x, (lower - min.dif.factor * min.dif)) : 因子
5 には意味がない: Ops.factor(x, (lower - min.dif.factor * min.dif)) :因子については意味がない
6: Ops.factor(x, (lower - min.dif.factor * min.dif)) : 因子については意味がない
7: Ops.factor(x, (lower - min.dif.factor * min.dif)) : 因子には意味がない
8: Ops.factor(x, (lower - min.dif.factor * min.dif)) : 因数には意味がない
9: Ops.factor(x, (lower - min.dif.factor * min.dif) ) : 因子には意味がない

このエラーは Null 値が原因であることを確認しました。ただし、さまざまな行にドットがある変数が多すぎるため、フィルタリングによってドットを単純に取り除くことはできません。ドットを取り除き、すべての変数に対して「分割」コマンドを実行するにはどうすればよいですか?

4

1 に答える 1

0

を使用complete.casesする前に、 を使用して NA または欠損値を削除できますcut。見る?complete.cases

例:

y <- airquality[,  1]
yy<-y[complete.cases(y)]
yyy<-cut(yy,3)
于 2013-08-21T22:33:26.200 に答える