2015-02-28 7 views
2

У меня есть два больших кадра данных (df1 и df2). Я хочу, чтобы объединить их с помощью функции rbind:R-поиск уникальных имен столбцов фреймов данных

df<-rbind(df1,df2) 

Однако я получаю сообщение об ошибке:

Error in match.names(clabs, names(xi)) : 
names do not match previous names 

Там более 100 переменных в кадрах данных. Я знаю, что большинство имен совпадают. Одно или два имени могут не совпадать. Как найти несопоставимые имена столбцов df1 и df2. Я буду очень рад за любую помощь. Большое спасибо.

+0

'colnames' даст вам имена столбцов' data.frame'. Если они не совпадают, вы можете задать имена столбцов одного из них, а затем «rbind» их. Например, 'colnames (df2) <- colnames (df1); df <-rbind (df1, df2)'. Какова цель аргумента 'fill'? – nicola

+0

аргумент "fill" заполняет отсутствующие колонки с NA nicola – oercim

+0

Ну ... нет. Я не знаю, где вы получили эту информацию, но в 'rbind' нет аргумента' fill'. У меня последняя версия R (3.1.2). – nicola

ответ

6

Вы можете использовать setdiff:

a <- c("a", "b", "c") 
b <- c("b", "c", "d") 
setdiff(a, b) 
#[1] "a" 
setdiff(b, a) 
#[1] "d" 

где a является, например, names(df1).

+0

Спасибо, Роланд. Это работало очень хорошо. – oercim

Смежные вопросы