【问题标题】:Split column into several columns based on column value根据列值将列拆分为几列
【发布时间】:2016-05-12 17:30:42
【问题描述】:

如何根据第 1 列中的值将包含 2 列的数据框拆分为包含多列的数据框?例如:

n value
1 53
1 12
1 26
1 10
2 3
2 16
2 18
2 24

应该变成:

n value n.1 value.1
1 53    2 3
1 12    2 16
1 26    2 18
1 10    2 24

生成的列名并不重要。对于 n = 1、n = 2 等,行数总是相同的。

【问题讨论】:

  • 听起来您想旋转表格,您是否在 R 中寻找旋转解决方案?
  • 我会尽量回答,但请查看reshape2 包。

标签: r dataframe split


【解决方案1】:

我们可以通过n 列调用split 上的数据框:

do.call('data.frame', split(df, df$n))
#  X1.n X1.value X2.n X2.value
#1    1       53    2        3
#2    1       12    2       16
#3    1       26    2       18
#4    1       10    2       24

#Or as @Imo added
data.frame(split(df, df$n))

【讨论】:

    猜你喜欢
    • 2023-02-17
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 2020-08-16
    • 2015-05-13
    • 2022-01-19
    相关资源
    最近更新 更多