【问题标题】:R: Pivot from long to vectorR:从 long 转向 vector
【发布时间】:2022-11-29 04:11:12
【问题描述】:

有没有办法总结另一个变量出现的变量值?

它类似于从长到宽的旋转,但是旋转是在向量中而不是在多个变量中完成的

数据有:

| var1 | var2   |
| :--: |:------:|
| 1    | 2      |
| 1    | 4      |
| 1    | 4      |
| 1    | 4      |
| 1    | 6      |
| 2    | 8      |
| 2    | 8      |
| 2    | 10     |
| 2    | 12     |

数据要:

| var1 | var2      |
| :--: |:---------:|
| 1    | (2, 4, 6) |
| 2    | (8,10,12) |

【问题讨论】:

  • 您可以使用 nest() 创建一个嵌套的 data.frame

标签: r


【解决方案1】:

我们可以在获取 unique 元素后创建一个 list 列

library(dplyr)
df1 %>%
  distinct %>%
  group_by(var1) %>%
  summarise(var2 = list(var2))

【讨论】:

  • 谢谢,这太完美了!
【解决方案2】:

一个基础R方法aggregate

aggregate(. ~ var1, df, function(x) list(unique(x)))
  var1      var2
1    1   2, 4, 6
2    2 8, 10, 12

【讨论】:

    猜你喜欢
    • 2016-01-23
    • 2015-09-15
    • 2013-03-24
    • 2020-03-11
    • 2018-03-17
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多