у меня есть набор данных data1 следующимг, если еще на основе нескольких условий
Group Code
Blue 1333
Blue 4444
Blue 9876
Blue 8785
Red 3145
Red 8756
Red 9745
Red 8754
Второй набор данных data2 выглядит следующим образом
Id Description
1333 Sea Weed
4444 Honey Roasted Peanut
8754 Green Tea
8756 Potato Chips
3145 Strawberry Grahams
8787 Arizona Ice Tea
Я пытаюсь создать третий столбец в моей 2-ой Dataset, data2, который хранит
1 - If the code is from blue Group in Data1 and matches with Id in Data2, Data1$Group = Blue && Data1$Code == Data2$Id
2 - If the code is from Red Group in Data1 and matches with Id in Data2, Data1$Group = Red && Data1$Code == Data2$Id
0 - If the Id in Data2 does not match the Code in Data1 , regardless of whether it is Blue or Red group.
окончательный набор данных должен выглядеть следующим образом
Id Description Result
1333 Sea Weed 1
4444 Honey Roasted Peanut 1
8754 Green Tea 2
8756 Potato Chips 2
3145 Strawberry Grahams 2
8787 Arizona Ice Tea 0
Нужна помощь
'dat2 $ Результат <- dat1 $ Группа [match (dat2 $ Id, dat1 $ Code)] 'даст вам цвета, которые вы затем можете перекодировать – user20650
@ :), которые отлично работали +1 –
Так как вы включили в свой пост тег 'dplyr', вот ответ 'dplyr':' dat2 <- dat2 %>% left_join (dat1, by = c ('Id' = 'Code'))%>% select (Id, Description, Result = Group) '(хотя базовый R-ответ проще следовать ...) – Jthorpe