R: с повторным выбором двух переменных в наборе данных, третья переменная в другом наборе данных, которая будет идентифицирована - PullRequest
0 голосов
/ 11 мая 2018

У меня есть датафрейм (пусть он называется df_A) с переменными Material Code, Usage%, Month-Year. Иметь другой фрейм данных (df_B) с переменными Код материала, Описание материала, Месяц-Год.

Необходимо получить% использования от df_A на основе месяца-года df_A и соответствующего кода материала в df_B и вставить% использования в качестве другого столбца в df_B. InFO: количество кодов материала в df_A и df_B может не совпадать. Следовательно, основываясь на mon-yr в df_B, затем соответствующий код материала в df_B; затем каждый соответствующий Код материала df_A и его соответствующий Mon-Yr в df_A, использование должно быть получено. Изображение прикреплено для визуализации данных

enter image description here

1 Ответ

0 голосов
/ 14 мая 2018

Как уже упоминалось, просто запустите левое соединение merge, сохраняя все строки df_B (т.е. all.x=TRUE), чтобы отобразить один необходимый столбец из df_A . А так как у вас много столбцов, выберите только нужные столбцы во время merge:

final_df <- merge(dfB[c("Material_Code", "Mon_Yr", "Material_Description")], 
                  dfA[c("Material_Code", "Mon_Yr", "Used %")],
                  by=c("Material_Code", "Mon_Yr"), all.x=TRUE)

# RE-ORDER COLUMNS
final_df <- final_df[c("Material_Code", "Material_Description", "Used %", "Mon_Yr")]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...