Как добавить столбец во фрейм данных так, чтобы добавленные значения увеличивали общее количество строк в R? - PullRequest
0 голосов
/ 05 июня 2018

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

Column 1  |  Column 2  | Column 3
---------------------------------
Dog       |    Hound   |   Black
Doggo     |    Lab     |   Brown

Я хочу добавить еще один столбец, чтобы результат был следующим:

Column 1  |  Column 2  | Column 3 |  Column 4
---------------------------------------------
Dog       |    Hound   |   Black  |  Male
Dog       |    Hound   |   Black  |  Female
Doggo     |    Lab     |   Brown  |  Male
Doggo     |    Lab     |   Brown  |  Female

Так что это почти как добавление другогоразмерность, но с колонкой.Любая помощь будет признательна!

Редактировать: найти решение здесь https://stackoverflow.com/a/21911221/9882844

Второе редактирование: решение ниже в комментарии ниже лучше на самом деле

1 Ответ

0 голосов
/ 05 июня 2018

Вы можете использовать merge с параметром all=TRUE:

df2 <- data.frame(Column4 = c("Male","Female"),stringsAsFactors = FALSE)

merge(df,df2,all = T)
#   Column1 Column2 Column3 Column4
# 1     Dog   Hound   Black    Male
# 2   Doggo     Lab   Brown    Male
# 3     Dog   Hound   Black  Female
# 4   Doggo     Lab   Brown  Female

Вы также можете использовать crossing из библиотеки tidyr, которая возвращает порядок ожидаемого результата:

tidyr::crossing(df,df2)
#   Column1 Column2 Column3 Column4
# 1     Dog   Hound   Black    Male
# 2     Dog   Hound   Black  Female
# 3   Doggo     Lab   Brown    Male
# 4   Doggo     Lab   Brown  Female

данные

df <- read.table(text="Column1    Column2   Column3
Dog           Hound      Black
Doggo         Lab        Brown",h=T,strin=F)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...