2
v1 = c(1,2,3)
v2 = c("a","b",NA)
X = data.frame(v1,v2)

f = function(X,d){
    subset(X,is.na(d)==0)
    }
f(X,"v2")

特定の列 (関数の引数に入力された) が欠落していない X のサブセットを取得するにはどうすればよいですか?

4

3 に答える 3

5

注: 関数は関数subset内では使用できませんが、対話的にのみ使用してください (こちらを参照)。

f <- function(X, d) {
  X[!is.na(X[d]), ]
}

> f(X,"v2")
  v1 v2
1  1  a
2  2  b
于 2013-06-12T09:21:43.183 に答える
3

complete.cases を使用すると、列名のベクトルを入力できます。

f <- function(X,d) {
     X[complete.cases(X[,d]),]
 }
于 2013-06-12T09:50:55.143 に答える
1

関数は必要ありません。ただ行う:

X[!is.na(X$v2),]
于 2013-06-12T09:20:16.000 に答える