gpt4 book ai didi

r - 连接具有相同后缀的变量对

转载 作者:行者123 更新时间:2023-12-02 08:42:02 26 4
gpt4 key购买 nike

我有一个数据框,其中包含许多变量,我想将它们连接到同一数据框中的新变量。我的数据框 df 的简化版本如下所示:

first.1 second.1 first.2 second.2 
1222 3223 3333 1221
1111 2212 2232 2113

以下是我在没有 for 循环的情况下如何低效执行此操作的方法:

df$concatenated.1 <- paste0(df$first.1,"-",df$second.1)
df$concatenated.2 <- paste0(df$first.2,"-",df$second.2)

这会产生以下数据框df:

first.1 second.1 first.2 second.2 concatenated.1 concatenated.2 
1222 3223 3333 1221 1222-3223 3333-1221
1111 2212 2232 2113 1111-2212 2232-2113

我有超过 2 对以上的变量需要连接,所以我想在 for 循环中执行此操作:

for (i in 1:2){
??
}

关于如何实现这一目标有什么想法吗?

最佳答案

如果您的真实数据的名称遵循清晰的模式(如本示例数据所示),Ronak 的 split/lapply 答案可能是最好的。如果没有,您只需创建名称向量并使用 Mappaste

new.names <- paste0('concatenated.', 1:2)
names.1 <- paste0('first.', 1:2)
names.2 <- paste0('second.', 1:2)

df[new.names] <- Map(paste, df[names.1], df[names.2], sep = '-')

df

# first.1 second.1 first.2 second.2 concatenated.1 concatenated.2
# 1 1222 3223 3333 1221 1222-3223 3333-1221
# 2 1111 2212 2232 2113 1111-2212 2232-2113

关于r - 连接具有相同后缀的变量对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53978785/

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