如何重命名包含R中常见短语的数据帧列表中的变量
我有一个R中的data.frames列表。我想使用如何重命名包含R中常见短语的数据帧列表中的变量,r,list,join,merge,R,List,Join,Merge,我有一个R中的data.frames列表。我想使用join_all将它们连接在一起,但它们的共同变量没有完全相同的名称 下面是一个示例数据集 compA <- rep(1:35) compB <- rep(1:35) compC <- rep(1:35) valuesa <- rnorm(35) valuesb <- rnorm(35) valuesc <- rnorm(35) A <- data.frame(compA, valuesa) B <
join_all
将它们连接在一起,但它们的共同变量没有完全相同的名称
下面是一个示例数据集
compA <- rep(1:35)
compB <- rep(1:35)
compC <- rep(1:35)
valuesa <- rnorm(35)
valuesb <- rnorm(35)
valuesc <- rnorm(35)
A <- data.frame(compA, valuesa)
B <- data.frame(compB, valuesb)
C <- data.frame(compC, valuesc)
list <- list(A, B, C)
compA我们可以使用lappy
和grep
如下:
lapply(list, function(x){setnames(x, old = grep("comp", names(x)), new = "Comp")})
对于前10行,使用您的代码将为您提供:
> JointData <- join_all(list, by="Comp", type='left')
> JointData
Comp valuesa valuesb valuesc
1 1 1.459809314 1.074395596 0.05459735
2 2 -1.442052931 0.259653583 -0.18003632
3 3 0.856110943 0.020583632 -2.23210988
4 4 -0.458347842 -0.472916330 0.03734474
5 5 0.722777326 0.372389619 -1.18025645
6 6 -1.079007191 1.812031538 0.81196831
7 7 -0.478990080 -0.298745059 -0.22902673
8 8 -0.015821375 0.414506210 -0.20809839
9 9 -0.844872308 -0.208205289 0.53310519
10 10 0.330617594 -0.177282871 -0.67203133
>连接数据连接数据
公司价值A价值B价值C
1 1 1.459809314 1.074395596 0.05459735
2 2 -1.442052931 0.259653583 -0.18003632
3 3 0.856110943 0.020583632 -2.23210988
4 4 -0.458347842 -0.472916330 0.03734474
5 5 0.722777326 0.372389619 -1.18025645
6 6 -1.079007191 1.812031538 0.81196831
7 7 -0.478990080 -0.298745059 -0.22902673
8 8 -0.015821375 0.414506210 -0.20809839
9 9 -0.844872308 -0.208205289 0.53310519
10 10 0.330617594 -0.177282871 -0.67203133
因此JointData
将有一列,Comp
,另外三列,valuesa
,valuesb
,valuesc
?是的,如果可能的话?谢谢,这太完美了!很乐意帮忙。如果我的建议恰当地回答了您的问题,请单击勾号将其作为所选答案。完成。感谢堆:-)
> JointData <- join_all(list, by="Comp", type='left')
> JointData
Comp valuesa valuesb valuesc
1 1 1.459809314 1.074395596 0.05459735
2 2 -1.442052931 0.259653583 -0.18003632
3 3 0.856110943 0.020583632 -2.23210988
4 4 -0.458347842 -0.472916330 0.03734474
5 5 0.722777326 0.372389619 -1.18025645
6 6 -1.079007191 1.812031538 0.81196831
7 7 -0.478990080 -0.298745059 -0.22902673
8 8 -0.015821375 0.414506210 -0.20809839
9 9 -0.844872308 -0.208205289 0.53310519
10 10 0.330617594 -0.177282871 -0.67203133