【发布时间】:2022-01-16 07:24:59
【问题描述】:
我有一个数据框,其中包含与同一变量相关的多列,我想将其合并为一列。但是,我可以在这里找到关于连接列的大多数答案(例如Merge 2 columns into one in dataframe),而我想在我的数据框中保留每个单独的数据单元格,但只需将它们组合成一列。
为清楚起见,这里是我的输入数据大致样子的示例。
| a | b | c | ID |
|---|---|---|---|
| string1 | string11 | string21 | 1111 |
| string2 | string12 | string22 | 2222 |
这是我希望这些数据的样子:
| newvar | ID |
|---|---|
| string1 | 1111 |
| string11 | 1111 |
| string21 | 1111 |
| string2 | 2222 |
| string12 | 2222 |
| string22 | 2222 |
到目前为止,我一直在尝试使用“pivot_longer()”来完成此操作,如下所示:
pivot_longer(df, c("a", "b", "c"), "newvar")
但我认为我必须误解 pivot_longer() 的目的,因为它返回的 df 单元格中填充了值 a b 和 c 而不是这些列中的行值。我也不确定 pivot_longer 是否能够像我希望的那样按列 ID 分组,除非可能通过管道。非常感谢任何帮助。
编辑:我意识到我使用 pivot_longer() 的问题似乎是我需要指定“values_to”作为参数“newvar”正在回答。
pivot_longer(df, c("a", "b", "c"), values_to = "newvar")
这段代码主要完成了我所需要的
【问题讨论】:
标签: r dplyr data-wrangling