gpt4 book ai didi

R:将 2 列的信息合并在一起

转载 作者:行者123 更新时间:2023-12-04 12:20:49 24 4
gpt4 key购买 nike

我创建了一个示例数据框,它有 3 个不同的组,每个组有 2 列。

Group_1 显示参与者总数,Group_1_Pos 显示参与者总数中有多少是积极的,等等:

df1 <- structure(list(Date = c("2016", "2017", "2018", "2019"), 
Group_1 = c("100", "200", "300", "400"),
Group_1_Pos = c("10", "20", "30", "40"),
Group_2 = c("500", "600", "700", "800"),
Group_2_Pos = c("50", "60", "70", "80"),
Group_3 = c("900", "1000", "1100", "1200"),
Group_3_Pos = c("90", "100", "110", "120")),
class = "data.frame", row.names=c("1", "2", "3", "4"))
> df1
Date Group_1 Group_1_Pos Group_2 Group_2_Pos Group_3 Group_3_Pos
1 2016 100 10 500 50 900 90
2 2017 200 20 600 60 1000 100
3 2018 300 30 700 70 1100 110
4 2019 400 40 800 80 1200 120

我想将总参与者列与积极参与者列组合在一起,使两个值仍然用括号分开。例如:

  Date      Group_1    Group_2     Group_3 
1 2016 100 (10) 500 (50) 900 (90)
2 2017 200 (20) 600 (60) 1000 (100)
3 2018 300 (30) 700 (70) 1100 (110)
4 2019 400 (40) 800 (80) 1200 (120)

所以在这个例子中,我在参与者总数旁边的 () 括号中添加了积极的参与者,并且只为 3 个组保留了 3 列。

如有任何帮助,我们将不胜感激。

最佳答案

使用 dplyr 你可以做类似的事情:

library(dplyr)

df1 %>%
mutate(Group_1 = paste0(Group_1, " (", Group_1_Pos, ")"),
Group_2 = paste0(Group_2, " (", Group_2_Pos, ")"),
Group_3 = paste0(Group_3, " (", Group_3_Pos, ")"),) %>%
select(-contains("Pos"))

# Date Group_1 Group_2 Group_3
# 1 2016 100 (10) 500 (50) 900 (90)
# 2 2017 200 (20) 600 (60) 1000 (100)
# 3 2018 300 (30) 700 (70) 1100 (110)
# 4 2019 400 (40) 800 (80) 1200 (120)

关于R:将 2 列的信息合并在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59578238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com