Ошибка в rbind (deparse.level, ...): номера столбцов аргументов не совпадают с R - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь сделать что-то особенное в тестировании и обучении. Я хорошо разбираюсь в python, но плохо знаком с R.

#Row binding train & test set for feature engineering
train_test = rbind(train, test)

Кажется, что мои данные о поездах и тестах имеют разное количество столбцов. Как решить эту проблему, чтобы остались единственные столбцы, общие для обоих информационных фреймов?

Error in rbind(deparse.level, ...) : 
  numbers of columns of arguments do not match

Ответы [ 3 ]

0 голосов
/ 09 апреля 2020

Вам, вероятно, понадобится использовать функции merge () или inner_join (). rbind () only работает, когда количество столбцов одинаковое и столбцы имеют одинаковое имя.

https://www.programmingr.com/examples/r-dataframe/merge-data-frames/ https://www.programmingr.com/tutorial/inner-join-in-r/

0 голосов
/ 09 апреля 2020

Найдите общие столбцы:

common_cols <- intersect(colnames(train), colnames(test))

Теперь выполните rbind

train_test=rbind(subset(train, select = common_cols), 
  subset(test, select = common_cols))
0 голосов
/ 09 апреля 2020

Я бы выяснил, какие имена столбцов для обоих фреймов данных, взял их пересечение (общие имена) и выбрал бы эти столбцы из обоих фреймов данных:

train_names <- colnames(train)
test_names <- colnames(test)
common_names <- intersect(train_names, test_names)

train_test <- rbind(train[common_names], test[common_names])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...