【发布时间】:2022-10-05 23:14:59
【问题描述】:
我有一个函数,用户在其中输入列和数据框的字符串向量作为参数,它返回带有新列的数据框,其中列的元素连接如下:
数据框:
df <- data.frame(x = c(\"A\",\"B\",\"C\",\"D\",\"E\"), y = c(\"1\",\"2\",\"3\",\"4\",\"5\"),
z = c(\"Test1\",\"Test2\", \"Test3\",\"Test4\",\"Test5\"),
w =c(\"B1\",\"B2\",\"B3\",\"B4\",\"B5\"))
如果用户将向量定义为vec <- c(\"x\",\"y\"),则输出应为:
newcol <- function(df, vec){
df <- df %>% mutate(newcolumn = paste(get(\"x\"),get(\"y\"), sep = \",\"))
return (df)
}
newcol(df, vec)
x y z w newcolumn
1 A 1 Test1 B1 A,1
2 B 2 Test2 B2 B,2
3 C 3 Test3 B3 C,3
4 D 4 Test4 B4 D,4
5 E 5 Test5 B5 E,5
如果vec <- c(\"x\",\"y\", \"z\") 则输出如下:
newcol <- function(df, vec){
df <- df %>% mutate(newcolumn = paste(get(\"x\"),get(\"y\"), get(\"z\"), sep = \",\"))
return (df)
}
newcol(df, vec)
x y z w newcolumn
1 A 1 Test1 B1 A,1,Test1
2 B 2 Test2 B2 B,2,Test2
3 C 3 Test3 B3 C,3,Test3
4 D 4 Test4 B4 D,4,Test4
5 E 5 Test5 B5 E,5,Test5
我想知道如何动态地完成这种连接。
-
这个问题很快就会产生一些很好的答案!