Скопируйте и умножьте значения между фреймами данных в соответствии с группой - PullRequest
0 голосов
/ 24 апреля 2018

У меня есть датафрейм DF1.id обозначает номер участника, и у нас есть несколько наблюдений (строк) для каждого участника:

id blocktype condition blocknr markodd
 1         1         1       1       0
 1         3         2       2       0
 1         3         3       2       0
 2         1         2       1       0
 2         1         1       2       0
 2         1         1       2       0
 3         4         1       1       0
 3         1         1       2       0
 3         2         1       2       0

У меня также есть еще один фрейм данных DF2 с дополнительными данными, на этот раз с одной строкой для каждого человека:

 id taskorder exporder
 1         1        1
 2         2        1
 3         1        2

Я хотел бы взять значение из DF2 для каждого идентификатора, а затем скопировать и умножить его на все наблюдения для соответствующего идентификатора, все в новом столбце DF1, чтобы я получил это:

id blocktype condition blocknr markodd taskorder
 1         1         1       1       0       1
 1         3         2       2       0       1
 1         3         3       2       0       1
 2         1         2       1       0       2
 2         1         1       2       0       2
 2         1         1       2       0       2
 3         4         1       1       0       1
 3         1         1       2       0       1
 3         2         1       2       0       1

Подскажите, пожалуйста, как это сделать?Решение dplyr было бы наиболее предпочтительным!

1 Ответ

0 голосов
/ 24 апреля 2018

Попробуйте это:

DF1 <- DF1 %>% left_join(DF2, by="id") %>% dplyr::select(colnames(DF1), taskorder)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...