Я хочу создать новый столбец, который объединяет информацию из двух столбцов, но один столбец находится в другой строке. Ниже приведен пример кадра данных, с которого я хочу начать:
df <- data_frame(person = c(rep("Joe",4),rep("Bob",3)),
meal = c(seq(1:4),seq(1:3)),
food = c("Chicken", "Beef", "Soup and meal 2", "Lamb",
"Lamb","Salad and meal 1","Beef"),
dependencies = c(NA,NA,2,3,NA,1,NA),
solo_meal = c(1,1,0,1,1,0,1))
Я хочу создать новый столбец, который будет выглядеть так:
data_frame(combined_meal = c("Chicken", "Beef", "Soup and Beef", "Lamb",
"Lamb","Salad and Lamb","Beef"))
Если используется зависимость, я хочу объединить эту «еду» с «едой».
У меня большой набор данных с несколькими зависимостями, которые мне нужно объединить в одно поле. Я чувствую, что должен быть простой способ сделать это, но я не могу придумать один.
Спасибо!
редактировать:
Я хочу поблагодарить тех, кто прокомментировал до сих пор. Опция Tidyverse работала лучше всего для моих нужд. У меня есть одна правка, которую я хотел добавить - при поиске в еде - мне может понадобиться добавить более одной еды вместе.
df <- data_frame(person = c(rep("Joe",4),rep("Bob",3)),
meal = c(seq(1:4),seq(1:3)),
food = c("Chicken", "Beef", "Soup and meal 2", "Lamb and meal 3",
"Lamb","Salad and meal 1","Beef"),
dependencies = c(NA,NA,2,3,NA,1,NA),
solo_meal = c(1,1,0,1,1,0,1))
, что дает:
# A tibble: 7 x 5
person meal food dependencies solo_meal
<chr> <int> <chr> <dbl> <dbl>
1 Joe 1 Chicken NA 1
2 Joe 2 Beef NA 1
3 Joe 3 Soup and meal 2 2 0
4 Joe 4 Lamb and meal 3 3 1
5 Bob 1 Lamb NA 1
6 Bob 2 Salad and meal 1 1 0
7 Bob 3 Beef NA 1
Я хочу иметь колонку комбинированных блюд:
# A tibble: 7 x 1
combined_meal
<chr>
1 Chicken
2 Beef
3 Soup and Beef
4 Lamb and Soup and Beef
5 Lamb
6 Salad and Lamb
7 Beef
Как мне рекурсивно добавить блюда? Предпочтительно использовать тидиверс.
Еще раз спасибо!