gpt4 book ai didi

r - 在 R 中循环数据帧,直到满足特定条件

转载 作者:行者123 更新时间:2023-12-05 09:31:17 26 4
gpt4 key购买 nike

我们有如下的当前数据框 df

df <- data.frame(ID = c(1,2,3,4,5,6), Name = c("Chris", "J", "Kemp", "President,", "CEO & ", "Director", "Ashton", "K", "Christian", "Analyst"), 
Font = c("Font A", "Font A", "Font A", "Font B", "Font B", "Font B", "Font A", "Font A", "Font A", "Font B"))

预期的输出是

final_df <- data.frame(Name =  c("Chris J Kemp", "Ashton K Christian"), Designation = c("President, CEO & Director", "Analyst"))

所以基本上我想添加名称,直到 Font 列中出现某种字体类型,这当然是我正在处理的巨大数据框的示例。提前感谢您的帮助!

抱歉您之前的所有努力。这个问题已经过一些重新编辑。

最佳答案

数据:

df <- data.frame(
ID = c(1:12),
Name = c("Chris", "J", "Kemp", "President,", "CEO & ", "Director",
"Bad", "D", "King", "Best,", "Teacher & ", "Friend"),
Font = c("Font A", "Font A", "Font A", "Font B", "Font B", "Font B",
"Font A", "Font A", "Font A", "Font B", "Font B", "Font B")
)

你可以这样做:

df$group <- cumsum(c(TRUE, df$Font[-1] != df$Font[-length(df$Font)]))
final_df <- as.data.frame(matrix(lapply(split(df$Name, df$group), paste, collapse = " "), ncol = 2))
colnames(final_df) <- c("Name", "Designation")

一个连续字体的分组行被创建。然后 split 允许每个字体都有一个列表,然后您可以使用 paste 重新格式化数据。

输出:

                        Name             Designation
1 Chris J Kemp Bad D King
2 President, CEO & Director Best, Teacher & Friend

关于r - 在 R 中循环数据帧,直到满足特定条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68937301/

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