【问题标题】:How to merge three columns without repeating same values如何合并三列而不重复相同的值
【发布时间】:2021-04-30 06:48:01
【问题描述】:

我有三列:

A     B     C
2018  NA    NA
2018  NA    NA
2018  NA    NA
NA    2019  NA
2018  2018  NA
NA    2017  2017

我想创建一个新列year,它将是这样的:year = 2018, 2018, 2018, 2019, 2018, 2017。

【问题讨论】:

标签: r merge multiple-columns


【解决方案1】:

假设您的数据存储在一个名为 df 的对象中:

df$year <- rowMeans(df[,c("A", "B", "C")], na.rm = TRUE)

如果您的列是数字类型,则该代码有效。

另一种方法是来自 tidyverse 的 coalesce,它为您提供每行中的第一个非缺失元素:

library(tidyverse)
df %>%
  mutate(year = coalesce(A, B, C))

【讨论】:

    猜你喜欢
    • 2014-12-24
    • 2015-07-11
    • 2022-01-09
    • 2017-06-02
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多