【问题标题】:Combine values with column names as new column将值与列名组合为新列
【发布时间】:2019-08-28 13:55:40
【问题描述】:

我喜欢将我的值与列名结合起来(查看当前集和所需集):

当前设置 = - ncol = 9 - nrow = 26814

我想将SheetNaam 中的值添加到XYEAR 列中,以扩展我的列并减少我的行,而不会丢失数据或“NA”。这在 R 中可能吗?

文字难以解释,希望有人能理解我的解释。

【问题讨论】:

    标签: r data-transform


    【解决方案1】:

    我们可以试试gatherspreadgatherstarts_with 'X' 后跟数字的列,unite 'SheetNaam','key' 合并为一个列,然后将spread 转换为'wide' 格式

    library(tidyverse)
    gather(df1, key, val, matches("^X\\d+$"), na.rm = TRUE) %>%
         unite(SheetNaam, SheetNaam, key, sep = "") %>%
         group_by(SheetNaam) %>%
         mutate(rn = row_number()) %>%
         spread(SheetNaam, val)
    

    【讨论】:

    • 我收到以下错误:错误:每行输出必须由唯一的键组合标识。密钥共享 2280 行:
    • @LiekeOltheten 可能是您可以复制元素。试试更新版本
    • 我会的,非常感谢,当我在集合之前添加一个“数字”时,它会创建列号,但也会创建一个不需要的矩阵,可能很容易通过重复解决,谢谢!
    • @LiekeOltheten 由于提供的数据是图像,因此很难进行测试。正如@Sotos 提到的,如果您可以提供一个小示例和预期输出的dput,会更容易
    猜你喜欢
    • 1970-01-01
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 2017-10-09
    • 1970-01-01
    • 2018-10-10
    相关资源
    最近更新 更多