【问题标题】:How do you merge numeric columns? [duplicate]你如何合并数字列? [复制]
【发布时间】:2019-05-08 19:16:20
【问题描述】:

我的数据如下所示:

      x  y  z
    1 na na 4
    2 na na 5
    3 na 4  na
    4 na 2  na
    5 7  na na
    6 9  na na

我尝试粘贴和合并,但输出如下所示:

      x
    1 na na 4
    2 na na 4
    3 na  4 na

我只想要数字,并且只希望它们在一列中。这就是我想要的:

      x 
    1 4
    2 5
    3 4
    4 2
    5 7
    6 9

你们知道怎么做吗?你会对我有很大的帮助!谢谢!

【问题讨论】:

标签: r


【解决方案1】:

一个选项是coalesce

library(dplyr)
df1  %>%
   transmute(x = coalesce(x, y, z))

假设nas 是真实的NAs(缺失值)而不是字符串

【讨论】:

  • 它起作用了,但它不再是数字了。 as.numeric 代码向我显示了这个错误:(列表)对象不能被强制输入'double'。我该如何改变呢?
  • @MalaDhyan 可能是您的列不是以数字开头的。我会使用df1 %>% mutate_all(as.numeric) %>% transmute(x = coalesce(x, y, z))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-04
  • 1970-01-01
  • 2017-11-27
  • 2018-04-02
相关资源
最近更新 更多