【发布时间】:2017-10-11 15:23:06
【问题描述】:
我正在尝试通过循环合并数据帧,然后将合并的文件返回到 R 内存,但无法让最后一部分工作。
这是我的 merge_data 函数:
list<-c("df1", "df2")
df1 <- diamonds[1:20,]
df2 <- diamonds[21:40,]
data2<-diamonds[41:60,]
merge_data <- function(data){
temp<-merge(data, data2, by.x = "cut", by.y="cut", all.x = T)
temp[is.na(temp)] <-"none"
print(temp)
}
以及应该返回合并数据帧的问题部分
for(i in list){
temp<-(merge_data(get(i)))
return(list[i], temp)
}
【问题讨论】:
-
您需要指定要合并的有效列名。您的数据中不存在“name1”和“name2”。如果您的数据框都具有相同的列名,我不确定合并是否正确。也许你想要
rbind代替??? -
这只是一个例子,是的,我需要合并我的原始数据集
-
数据,数据2; data2 在这个函数中是固定的
-
我的问题在第二部分,第一部分很好,我不知道如何返回合并数据
-
您是要在最后将合并的数据帧保存到
list(),还是让每个数据帧成为内存中的单独对象?