【发布时间】:2019-04-20 20:40:39
【问题描述】:
我有一个 data.frame df 与列 A 和 B:
df <- data.frame(A = 1:5, B = 11:15)
还有另一个 data.frame,df2,我正在通过各种计算构建它,最终具有通用列名 X1 和 X2,我无法直接控制它们(因为它在某一点通过矩阵)。所以它最终是这样的:
mtrx <- matrix(1:10, ncol = 2)
mtrx %>% data.frame()
我想将 df2 中的列重命名为与 df 相同。当然,我可以在通过简单的分配完成 df2 构建后执行此操作:
names(df2)<-names(df)
我的问题是 - 有没有办法直接在管道内执行此操作?我似乎无法使用 dplyr::rename,因为它们必须采用 newname=oldname 的形式,而且我似乎无法对其进行矢量化。 data.frame 调用本身也是如此——据我所知,我不能只给它一个列名向量。我还有另一个选择吗?我希望是这样的
mtrx %>% data.frame() %>% rename(names(df))
但这不起作用 - 给出错误Error: All arguments must be named。
干杯!
【问题讨论】: