r - 如何在r中获取数据框中重复值的下一个元素?
问题描述
我想删除 A 列中的重复元素,我需要合并新列中重复值的相关元素我有这个数据框:
A B Repeat
a x1 5
a x5 5
a x4 5
a x2 5
a x3 5
b x2 3
b x4 3
b x1 3
c x5 3
c x9 3
c x3 3
d x2 2
d x8 2
e x5 2
e x1 2
f x6 1
g x2 1
h x5 1
i x4 1
j x7 1
这是我预期的数据框:
A Repeat Merged values of B
a 5 x1,x5,x4,x2,x3
b 3 x2,x4,x1
c 3 x5,x9,x3
d 2 x2,x8
e 2 x5,x1
f 1 x6
g 1 x2
h 1 x5
i 1 x4
j 1 x7
解决方案
使用dplyr
,我们可以group_by
A
创建一个逗号分隔的值来B
使用toString
和获取 的first
值Repeat
。
library(dplyr)
df %>%
group_by(A) %>%
summarise(new_B = toString(B),
Repeat = first(Repeat))
# A tibble: 10 x 3
# A new_B Repeat
# <fct> <chr> <int>
# 1 a x1, x5, x4, x2, x3 5
# 2 b x2, x4, x1 3
# 3 c x5, x9, x3 3
# 4 d x2, x8 2
# 5 e x5, x1 2
# 6 f x6 1
# 7 g x2 1
# 8 h x5 1
# 9 i x4 1
#10 j x7 1
推荐阅读
- php - Laravel 路由 [list.remove] 未定义
- sql - SQL 计算表中的唯一值
- amazon-web-services - 适用于 iOS 的 AWS Cognito 身份池文档?
- nuget - 如何在不重建的情况下打包 .NET Standard NuGet 包?
- c++ - 指针和双精度之间的c ++赋值运算符
- c# - 在 ListView 中绑定字符串和布尔值?
- unix - 如何在文件中按部分grep?
- javascript - AWS Lambda 执行环境中预装了哪些 NPM 模块?
- microsoft-graph-api - 使用 MSAL 的 Microsoft Graph API OrganizationFromTenantGuidNotFound
- javascript - 将 Chrome Devtools 与 Chrome 扩展一起使用