【问题标题】:Removing missing rows and duplicate row using dplyr in R data frame在 R 数据框中使用 dplyr 删除丢失的行和重复的行
【发布时间】:2018-01-27 01:02:56
【问题描述】:

设数据框为

data<-data.frame(name=c("A", "B", "A", "C", "A", "B", "D"), num = c(1,NA, 0,NA, 1, NA, 0))

我得到了结果:

name num

1    A   1
2    B  NA
3    A   0
4    C  NA
5    A   1
6    B  NA
7    D   0

我想使用 dplyr 从 column1(name) 中删除重复的行,并在单管道函数中从 column2(num) 中删除“NA”行。

我想得到我的答案

    name num

1    A   1
7    D   0

数据框中将有多少行,其中“num”列中的缺失值已被消除,“name”列中的重复值已被消除。

任何使用管道功能的建议。

【问题讨论】:

  • 你试过filterdistinct吗?
  • 您决定删除第 3 行的依据是什么?一个 0
  • 列(名称)“A”下的第 3 行是与第 1 行重复的字符向量。所以我想删除第三行。
  • 数据框中将有多少行已消除“num”列中的缺失值并已消除“name”列中的重复值。
  • 当我写代码时数据%>%filter(!is.na(num))%>%filter(!duplicated(name))。我得到了我的答案。谢谢你。名称编号 1 A 1 2 D 0

标签: r dplyr


【解决方案1】:

试试

library(dplyr) 

data
  distinct() %>%
  filter(!is.na(num))

【讨论】:

    【解决方案2】:

    你可以这样做:

     library(dplyr)
     na.omit(data) %>% unique()
    

    返回这个:

      name num
    1    A   1
    3    A   0
    7    D   0
    

    我不清楚您决定在所需输出中删除第三行的依据是什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-03
      • 2014-05-22
      • 2016-11-02
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 2018-01-29
      • 1970-01-01
      相关资源
      最近更新 更多