Error in match.names(clabs, names(xi)) : names do not match previous names
目录
Error in match.names(clabs, names(xi)) : names do not match previous names
问题:
#两个dataframe的名称不同,没法纵向合并;
#横向合并是没有问题的
#create and view first data frame
df1 <- data.frame(var1=c(1, 3, 3, 4, 5),
var2=c(7, 7, 8, 3, 2))
df1
#create and view first second frame
df2 <- data.frame(var3=c(3, 3, 6, 6, 8),
var4=c(1, 1, 2, 8, 9))
df2
#attempt to row bind the two data frames
rbind(df1, df2)
解决:
#检查名称是否相同
#check if column names are identical between two data frames
identical(names(df1), names(df2))
[1] FALSE
#重命名之后再合并OK
#define two data frames
df1 <- data.frame(var1=c(1, 3, 3, 4, 5),
var2=c(7, 7, 8, 3, 2))
df2 <- data.frame(var3=c(3, 3, 6, 6, 8),
var4=c(1, 1, 2, 8, 9))
#rename second data frame columns
names(df2) <- c('var1', 'var2')
#row bind the two data frames
rbind(df1, df2)
完整问题:
>
> #create and view first data frame
> df1 <- data.frame(var1=c(1, 3, 3, 4, 5),
+ var2=c(7, 7, 8, 3, 2))
>
> df1
var1 var2
1 1 7
2 3 7
3 3 8
4 4 3
5 5 2
>
> #create and view first second frame
> df2 <- data.frame(var3=c(3, 3, 6, 6, 8),
+ var4=c(1, 1, 2, 8, 9))
>
> df2
var3 var4
1 3 1
2 3 1
3 6 2
4 6 8
5 8 9
>
> #attempt to row bind the two data frames
> rbind(df1, df2)
Error in match.names(clabs, names(xi)) : 名字同原来已有的名字不相对