在下面的例子如何防止合并和重新排序的列
x <- data.frame(code = 7:9, food = c('banana', 'apple', 'popcorn'))
y <- data.frame(food = c('banana', 'apple', 'popcorn'),
isfruit = c('fruit', 'fruit', 'not fruit'))
我想这样做x <- merge(x, y)
,但问题是,merge()
重新排序列,使得by
列(食品)是第一位的。 我该如何防止这种情况,并让merge(x, y)
使用x的相同列顺序,并且只需插入新变量(isFruit)作为第三列(即“code,food,isFruit”而不是“food,code,isFruit”)?
我试过这个,无济于事:
merge(x, y, sort = F)
我的解决方法是做到这一点之后
x <- x[c(2, 1, 3)]
我认为你的解决方法是解决问题。 – joran
...虽然看起来plyr包中的'join'不会重新排列列。 – joran