0

在我的脚本中的某个时刻,我喜欢查看我的数量missing valuesdata.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位置NAis 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>

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

那么我怎样才能只为每个国家显示一行呢?

它应该看起来像这样:

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

2 回答 2

3

尝试这样的事情:

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

另请参阅此相关问题:如何从数据框中删除部分重复项?

于 2010-02-02T09:57:21.900 回答
3

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

会给你

1 2 3 4

所以

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

应该是你要找的?

于 2010-02-02T10:00:02.113 回答