1

私はこのようなテーブルをロードしています:

mydata <- read.table("c:\\file.tab", header=TRUE, sep="\t", quote="\"")

次のように、COLUMN1_NAME列の空白エントリの割合を計算できます。

sum(mydata$COLUMN1_NAME == "")/nrow(mydata)

しかし、私にはたくさんの列があります。上記の行をコピーして貼り付けて列名を手動で変更する代わりに、ループスローして各列のこのパーセンテージを計算する方法が必要です。私はRにかなり慣れていないので、どんな助けでもありがたいです。

4

1 に答える 1

2

名前ではなく数字の付いた角かっこを使用してください。

i <- 1

sum(sum(mydata[[i]] == "")/nrow(mydata)

等。

を参照してください?Extract。また、プログラムで名前を取得して操作することもできますが、これは追加の手順にすぎません。

i <- 1
nms <- names(mydata)
sum(mydata[[nms[i]]] == "")/nrow(mydata)
于 2012-04-06T21:25:24.670 に答える