【问题标题】:Combining two columns in a dataframe without NA values在没有 NA 值的数据框中组合两列
【发布时间】:2020-05-11 05:23:17
【问题描述】:

假设我们有这个:

  n       s     
1 Alabama NA 
2 New     Hampshire
3 New     York  

我们想将两列合并为一列,但没有 NA 值:

  n      
1 Alabama 
2 New Hampshire
3 New York 

我们将如何去做呢?我尝试使用 paste() 但它又将 NA 值粘贴为Alabama NA。请告诉我!

【问题讨论】:

标签: r dataframe


【解决方案1】:

尝试在这里使用paste()coalesce,来自dplyr 包:

df$n <- paste(df$n, coalesce(df$s, ""))

我们也可以将is.na 用于纯基础 R 解决方案:

df$n <- paste(df$n, ifelse(is.na(df$s), "", df$s))

【讨论】:

    【解决方案2】:

    整洁的方法:

    df %>% tidyr::unite("n",n,s, sep = " ", na.rm = T) 
    #edit: just noticed separator as "space".
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 2018-06-25
      • 1970-01-01
      • 2016-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多