Vic*_*hin 2 r dataframe dplyr data.table tidyverse
我试图从数据集中删除重复项,但我发现这些行并不完全相同。因此,我试图保留信息并生成另一列。例如,假设我有以下数据:
df <- data.frame(id = c("a", "a", "b", "c", "c", "d"),
color = c("red", "blue", "green", "blue", "green","red"))
> df
id color
1 a red
2 a blue
3 b green
4 c blue
5 c green
6 d red
Run Code Online (Sandbox Code Playgroud)
现在,我希望没有重复的 ID,因此我希望额外的信息位于另一列上。结果应该是这样的:
> df2
id color color2
1 a red blue
2 b green
3 c blue green
4 d red
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以实现这一点?
小智 5
这是执行此操作的一种方法tidyverse包执行此操作的一种方法
library(dplyr)\nlibrary(tidyr)\n\ndf %>%\n mutate(n = row_number(),\n .by = id) %>%\n pivot_wider(\n names_from = n,\n names_prefix = \'color_\',\n values_from = color\n )\n#> # A tibble: 4 \xc3\x97 3\n#> id color_1 color_2\n#> <chr> <chr> <chr> \n#> 1 a red blue \n#> 2 b green <NA> \n#> 3 c blue green \n#> 4 d red <NA>\nRun Code Online (Sandbox Code Playgroud)\n创建于 2023-10-18,使用reprex v2.0.2
\n| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |