すべての値が である多くの列を持つマトリックスがありますNA
。だから私は完全にあるすべての列を省略したいNA
. では、どうすればこれを行うことができますか?
1001 次
3 に答える
3
NA
すべての観測値が;である列のみを省略したいと思います。あなたの質問はややあいまいです。
このコードはNA
、行列に対して完全に である列を省略x
し、少なくとも 1 つの非NA
値を持つ列のみを返します。
x[,apply(!is.na(x),2,any)]
于 2013-04-01T23:48:16.587 に答える
2
mtx[ , -which( colSums(is.na(mtx)) == nrow(mtx) ) ]
NA エントリが 50% を超える列を除外する場合は、次のようにします。
mtx[ , -which( colSums(is.na(mtx)) > nrow(mtx)/2 ) ]
于 2013-04-02T01:25:25.317 に答える
1
関数 "na.omit()" を使用して、NA 観測を含む行を削除できます。この関数は行を削除し、NA のないデータ フレームを返します。
すべての観測値に NA が含まれる列を削除したい場合...
これを行うための組み込みの R 関数についてはわかりません。ただし、NAが最も多い列を削除するある種のユーザー定義プロセスを検討する場合があります...
### Assume 'df' is your data frame with observational data:
### Apply a function to check whether each observation contains an NA
count <- sapply(df, is.na)
### Within each column, ask for the number of missing observations
count <- colSums(count)
### Ask R which columns have the most missing observations
index <- which.max(count)
### Subset 'df' to exclude columns with the most NA's
df <- df[, -index]
于 2013-04-01T21:57:54.643 に答える