r - left_join 在 R 中的 by 参数中使用字符向量

标签 r dataframe left-join

有什么方法可以在 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/

相关文章:

php - MySQL 左连接,SQL 语法错误

pandas - 如何删除行以使列中的值与序列匹配

scala - 在 Apache Spark 1.3 中向数据框添加一列

python - 根据 Pandas 中的其他信息更改数据框中的一小部分列

R 多个数据框列匹配以填充列

mysql - 在另一个查询 MySQL 中使用来自一个查询的 SUM

r - 在 R 中验证 API

R 和传单绘制的圆半径不正确?

R:如何根据另一个变量中的值选择 dplyr::distinct() 保留哪一行?

r - 编写函数来计算字符串中元音的数量