【发布时间】:2023-03-10 15:04:01
【问题描述】:
我正在尝试将一些 plyr 代码转换为 dplyr,并且在 dplyr 中遇到了 rename() 的新功能。我希望能够为一组具有重叠但不完全相同的原始名称的数据集重用一个 rename() 表达式。例如,
sample1 <- data.frame(A=1:10, B=letters[1:10])
sample2 <- data.frame(B=11:20, C=letters[11:20])
然后,
rename(sample1, var1 = A, var2 = B, var3 = C)
我希望结果是变量 A 重命名为 var1,B 重命名为 var2,在这种情况下不添加 var3。相反,我得到了
错误:未知变量:C。
相比之下,plyr 语法可以让我使用
rename(sample1, c("A" = "var1", "B" = "var2", "C" = "var3"))
rename(sample2, c("A" = "var1", "B" = "var2", "C" = "var3"))
并且不抛出错误。有没有办法在不出现未知变量错误的情况下在 dplyr 中获得相同的结果?
【问题讨论】:
-
您可以专门从 plyr 引用重命名函数:
plyr::rename(sample1, c("A" = "var1", "B" = "var2", "C" = "var3"))