【问题标题】:remove NA using dplyr package & counting non-zero values in R使用 dplyr 包删除 NA 并计算 R 中的非零值
【发布时间】:2022-11-03 23:51:20
【问题描述】:

我正在使用以下df:

first_column<-c(1,2,3,4)
second_column<-c(1,2,"NA",4)
df<-data.frame(first_column,second_column)
df$test=ifelse(df$first_column==df$second_column,0,1) 

> df
  first_column second_column test
1            1            1    0
2            2            2    0
3            3           NA    1
4            4            4    0

我想做的是两件事,1)如果第二列中有NA,则删除整行,如果没有dplyr,我该怎么办? 2)如果我想让结果返回到第一列,如果测试列显示非零,也就是说,在这种情况下,基于测试列上的“1”返回到第一列#3。我可以知道我应该如何解决这两件事吗?非常感谢您的帮助。

【问题讨论】:

  • 每个帖子最好问一个问题。

标签: r dataframe


【解决方案1】:

您可以使用tidyr::drop_na

library(tidyr)
df %>%
  drop_na(second_column)

complete.cases 在基础 R 中:

df[complete.cases(df$second_column), ]

请注意,在您的数据框中,NA 是字符 "NA"。它应该只是NA

【讨论】:

    【解决方案2】:

    我们可以使用base R

    df[!is.na(df$second_column),]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-20
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 2022-07-15
      • 2018-06-17
      相关资源
      最近更新 更多