2010-02-02 93 views
0

在我的脚本某些时候,我喜欢看到我的data.framemissing values 数量并显示出来。 在我的情况下,我有:只显示一行每个NA值

out <- read.csv(file="...../OUT.csv", na.strings="NULL") 

sum(is.na(out$codeHelper)) 

out[is.na(out$codeHelper),c(1,length(colnames(out)))] 

它工作得很好。 不过,最后的命令显然给了我整个data.frame其中NATRUE,如:

5561     Yemen (PDR) <NA> 
5562     Yemen (PDR) <NA> 
5563     Yemen (PDR) <NA> 
5564     Yemen (PDR) <NA> 
5565     Yemen (PDR) <NA> 
5566     Yemen (PDR) <NA> 
5567     Yemen (PDR) <NA> 
5568     Yemen (PDR) <NA> 
5601 Zaire (Democ Republic Congo) <NA> 
5602 Zaire (Democ Republic Congo) <NA> 
5603 Zaire (Democ Republic Congo) <NA> 
5604 Zaire (Democ Republic Congo) <NA> 
5605 Zaire (Democ Republic Congo) <NA> 

有了一个大的框架和大量的NAS看起来相当混乱。 对我很重要的是,只有在NA出现的地方,即哪个国家的 (第二列)在第三列中有一个缺失值。

那么我怎么能只显示每个国家的单行?

它应该是这个样子:

1     Yemen (PDR) <NA> 
    2 Zaire (Democ Republic Congo) <NA> 
    3       USA <NA> 
    4      W. Samoa <NA> 
+3

使用'ncol(x)'而不是'length(colnames(x))' – hadley

回答

3

unique(c(1,2,3,4,4))

会给你

所以

unique(out[is.na(out$codeHelper),c(1,length(colnames(out)))])

应该是你在找什么?

+0

完美,我正在寻找这样的功能!谢谢! – mropa