0

スクリプトのある時点で、 の数を確認して表示し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>

大きなフレームとかなり乱雑に見える多くの NA を備えています。私にとって重要なのは、NA が発生する場所、つまり (2 番目の列の) どの国が 3 番目の列に欠損値があるかだけです。

では、国ごとに 1 行だけを表示するにはどうすればよいでしょうか。

次のようになります。

    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 に答える