我遇到了将多个数据框合并在一起的问题。我上传了(plyr)并尝试使用rbind将6个数据帧合并在一起。输出一直告诉我这是错误的名字。我确实有每个名为data.frames的对象。这可能是问题吗?
#Merging Species
Full.species <- rbind(Papio,Cebus,Gorilla,Human,Macaca,Pantrog,
use.names=TRUE)
这是我的输出错误消息:
Error in match.names(clabs, names(xi)) :
names do not match previous names
答案 0 :(得分:1)
有几种情况,目前尚不清楚哪些是你的,但是:
如果数据框具有相同的名称, 1) rbind
将起作用。鉴于您的错误消息,我认为不您的情况。
2)如果数据框具有相同的列数且每个列的第一列对应且每个列的第二列对应等,则只需更改所有数据帧上的列名称但是那个数据框上的名字就是一个。
names(DF3) <- names(DF2) <- names(DF)
rbind(DF, DF2, DF3)
3)如果应将不同的名称放在不同的列中,请使用plyr中的rbind.fill
:
library(plyr)
rbind.fill(DF, DF2, DF3)
答案 1 :(得分:0)
就个人而言,我喜欢this task的data.table
包:
library(data.table)
Full.species <- rbindlist(list(Papio,Cebus,Gorilla,Human,Macaca,Pantrog), fill=TRUE)
fill=TRUE
将使用NA填充给定数据集中缺少的任何列。