W poniższym przykładzieJak zapobiec scalanie z kolumnami zamianom
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'))
Chciałbym zrobić x <- merge(x, y)
, ale problemem jest to, że merge()
zmieniać kolejność kolumn tak, że kolumna by
(żywności) jest na pierwszym miejscu. Jak mogę temu zapobiec i mam merge(x, y)
użyć tej samej kolejności kolumn x i po prostu wstawić nową zmienną (isFruit) jako trzecią kolumnę (tj. "Kod, jedzenie, isFruit" zamiast "jedzenie, kod, isFruit")?
Próbowałem to bezskutecznie:
merge(x, y, sort = F)
Moje obejście jest zrobić to później
x <- x[c(2, 1, 3)]
Myślę, że twoja praca wokół jest rozwiązaniem. – joran
... chociaż wydaje się, że 'join' w pakiecie plyr nie zmienia kolejności kolumn. – joran