代码之家  ›  专栏  ›  技术社区  ›  mropa

每个NA值仅显示一行

  •  0
  • mropa  · 技术社区  · 16 年前

    在我的脚本中的某个时刻,我喜欢看到 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)))]
    

    它工作得非常好。 在哪里 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发生的地方,即哪个国家 (在第二列中)在第三列中缺少值。

    它应该是这样的:

        1                  Yemen (PDR) <NA>
        2 Zaire (Democ Republic Congo) <NA>
        3                          USA <NA>
        4                     W. Samoa <NA>
    
    2 回复  |  直到 10 年前
        1
  •  3
  •   pufferfish    16 年前

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

    我会给你

    1 2 3 4

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

    应该是你要找的吗?

        2
  •  3
  •   Community Mohan Dere    9 年前

    试着这样做:

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

    另见这一相关问题: how to remove partial duplicates from a data frame?