每个NA值仅显示一行

时间:2010-02-02 09:34:59

标签: r dataframe

在我的脚本中的某个时刻,我希望看到missing values的数量 在我的data.frame中显示它们。 就我而言,我有:

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 NA TRUE所在的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> ,例如:

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

大框架和许多看起来非常混乱的NA。 对我来说重要的只是NA出现在哪个国家 (在第二列中)第三列中缺少值。

那么我怎样才能为每个国家/地区显示一行?

看起来应该是这样的:

{{1}}

2 个答案:

答案 0 :(得分:3)

尝试这样的事情:

subset(dataframe.name, !duplicated(country.colname),
       select=c(col1.name, col2.name, ...))

另请参阅此相关问题:how to remove partial duplicates from a data frame?

答案 1 :(得分:3)

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

会给你

  

1 2 3 4

所以

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

应该是你想要的吗?