У меня есть 2 CSV-файла, которые я хотел бы объединить, используя R. Как я могу добиться этого? - PullRequest
0 голосов
/ 04 мая 2020

2 файла имеют разные имена и номера столбцов. Я хотел бы объединить строки первого файла под строками второго файла для связанных столбцов на основе позиций столбцов. Я попробовал следующее:

  1. с указанием позиций столбцов для 2 файлов.

    one = df1[6:59, ]
    two = df2[2:55, ]
    
  2. , связывающих строки, используя mutate, потому что некоторые для столбцы содержат факторные данные, а не целые числа

    a= bind_rows(mutate_all(one, as.character), mutate_all(two, as.character))
    

, но это не сработало! кто-нибудь может помочь, пожалуйста?

1 Ответ

0 голосов
/ 04 мая 2020

Если вы привязываете по положению столбца, вам понадобится rbind, но я думаю, что объекты будут нуждаться в одинаковых именах столбцов, поэтому вам нужно будет переназначить их следующим образом:

d1 = read_csv('file1.csv')
d2 = read_csv('file2.csv')
names(d2)[6:59] = names(d1)[2:55]

Тогда кадры данных должны иметь одинаковое количество столбцов.

# rbind method
rbind(d1, d2)

Подход dplyr будет работать с любым количеством столбцов, но опять же имена столбцов должны совпадать.

# dplyr method
dplyr::bind_rows(list(d1, d2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...