【发布时间】:2022-11-20 04:58:31
【问题描述】:
这是我第一次发帖 :) 所以我今天遇到了一些奇怪的行为:使用 dplyr 时变异与功能一起粘贴函数,每一行的结果都是相同的。
这是一个例子:
vec1 <- c(2, 5)
vec2 <- c(4, 6)
test_df <- data.frame(vec1, vec2)
test_df %>% mutate(new_col = paste(vec1:vec2, collapse = ","))
与输出
vec1 vec2 new_col
1 2 4 2,3,4
2 5 6 2,3,4
但这不是我想要或期望的。
这是我想要的,通过循环实现:
df <- test_df %>% mutate(new_col = 1)
for(i in 1:nrow(test_df)){
df$new_col[i] <- paste(df$vec1[i]:df$vec2[i], collapse = ",")
}
随着输出:
vec1 vec2 new_col
1 2 4 2,3,4
2 5 6 5,6
发生了什么事,我怎样才能达到同样的效果变异和粘贴?
【问题讨论】: