在下面的例子如何防止合併和重新排序的列
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