R 从数据帧名称列表创建数据帧列表(用于合并所有数据帧)
我有一个数据帧名称列表,我想创建一个数据帧列表,或者我想能够使用数据帧名称列表来调用数据帧本身。其思想是能够将所有数据帧合并到数据帧名称列表中 下面有一个例子,我犯的错误很明显:当我引用数据帧名称列表时,我合并了名称本身,而不是名称所引用的数据帧:R 从数据帧名称列表创建数据帧列表(用于合并所有数据帧),r,list,dataframe,merge,R,List,Dataframe,Merge,我有一个数据帧名称列表,我想创建一个数据帧列表,或者我想能够使用数据帧名称列表来调用数据帧本身。其思想是能够将所有数据帧合并到数据帧名称列表中 下面有一个例子,我犯的错误很明显:当我引用数据帧名称列表时,我合并了名称本身,而不是名称所引用的数据帧: names.df<-c("red","green","blue") variables.df<-c(1, 2, 3) for(i in 1:length(names.df)){ assign(names.df[i],as.data.fr
names.df<-c("red","green","blue")
variables.df<-c(1, 2, 3)
for(i in 1:length(names.df)){
assign(names.df[i],as.data.frame(i*variables.df))
}
df<-Reduce(function(x, y) merge(x, y, all=TRUE), list(names.df))
关于如何解决这个问题有什么想法吗?如果环境中已经存在红色、蓝色和绿色的data.frames,您应该可以这样做
mget(names.df)
你的问题不清楚它们是否已经存在。如果他们不这样做,你必须采取稍微不同的方法
setNames(object = lapply(seq_along(names.df), function(i){
data.frame(val = variables.df * i)
}), nm = names.df)
#$red
# val
#1 1
#2 2
#3 3
#$green
# val
#1 2
#2 4
#3 6
#$blue
# val
#1 3
#2 6
#3 9
非常感谢。你不想回答下面的问题吗?