Как добавить новый столбец из другого кадра данных в R, соответствующий конкретным выборкам в первом кадре данных - PullRequest
1 голос
/ 03 апреля 2020

У меня есть два кадра данных DF1 и DF2.

DF1    Names  B.P   Age Sex
        Ted    120  23   M
        Sed    110   24  F
        Med    123    23  M

DF2   Names  Income
       Ted    1000
        Sed    2000
        Fed    3000
        Med    1000

DF1 содержит три переменные для каждого Имени участника. (DF1 $ мена). Все, что я хочу, это добавить столбец (DF2 $ Income) из DF2 в DF1, но следует добавлять только данные о доходах Ted Sed и Med. Я имею в виду только то, что данные из нового столбца должны быть добавлены в соответствие с именами в DF1. Я хочу следующий вывод.

DF3



Names   B.P Age   Sex   Income
        Ted    120  23   M    1000
        Sed    110   24  F    2000
        Med    123    23  M   1000

Dput:

df1 <- structure(list(Names = c("Ted", "Sed", "Med"), B.P = c(120, 110, 
123), Age = c(23, 24, 23), Sex = c("M", "F", "M")), class = "data.frame", row.names = c(NA, 
-3L))

df2 <- structure(list(Names = c("Ted", "Sed", "Fed", "Med"), Income = c(1000, 
2000, 3000, 1000)), class = "data.frame", row.names = c(NA, -4L
))

Ответы [ 2 ]

3 голосов
/ 03 апреля 2020

Вот решение dplyr:

library(dplyr)
DF3 <- left_join(df1, df2, by = "Names")

Вот решение data.table:

library(data.table)
Df3 <- merge(df1, df2, by = "Names")
0 голосов
/ 04 апреля 2020

В вашем случае, поскольку существует общий столбец, базового слияния R достаточно:

merge(df1,df2)
  Names B.P Age Sex Income
1   Med 123  23   M   1000
2   Sed 110  24   F   2000
3   Ted 120  23   M   1000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...