有什么方法可以在 R 中 left_Join 的“by”参数中使用字符向量
我正在尝试以下操作:
DF <- data.frame(a = c("q","a","a","b","b","b","c","c","c","c"), b = c("w","e","r","t","y","u","i","i","w","f"))
DF2 <- data.frame(aa = c("q","a","b","c"), cc = c(1,2,3,4))
DFNames <- names(DF)
left_join(DF,DF2, by = c(DFNames[1] = "aa"))
但我明白了
Error: unexpected '=' in "left_join(DF,DF2, by = c(DFNames[1] ="
问题肯定源于c(DFNames[1] = "aa")
返回:
Error: unexpected '=' in "c(DFNames[1] ="
干杯!
最佳答案
我们可以使用setNames
轻松做到这一点
out1 <- left_join(DF,DF2, by = setNames("aa", DFNames[1]))
-检查输出
out2 <- left_join(DF, DF2, by = c("a" = "aa"))
identical(out1, out2)
#[1] TRUE
关于r - left_join 在 R 中的 by 参数中使用字符向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58628985/