2014-10-10 60 views
0

除去NA在所选择的列的行我有一个data.frame:ř按id

A <- c(1:10,"NA") 
df <- as.data.frame(A) 
df$B <-c(11:21) 
df$C <-c(21:31) 
df 

我可以询问通过ID选择的列:

id <-"A" 
df[df[,id]==5,] 

但是我有删除行的问题与na在选定的列:

df[!is.na(df[,id]),] 

我将不胜感激您的帮助。

+2

通过把'引号NA',现在是不是一个'NA',但一个字符(实际上,一个'factor'与你创建'data.frame'的方式)。 – A5C1D2H2I1M1N2O1R2T1 2014-10-10 15:04:04

回答

3

创建变量A时包含的NA是一个字符。试试你的例子

A <- c(1:10, NA) 

改为。或者,如果你打算为NA是一个字符,你可以尝试

df[df[,id]!="NA", ] 
+0

谢谢你向我解释这个。 – 2014-10-10 19:40:16