我有一个2列数据框.第一列包含一类项目(在本例中为蔬菜)的单个条目.第二列是即将到来的new_item
个,它们是不同类别(肉类、水果、蔬菜等)的食品杂货.
library(tidyverse)
current <- tibble::tribble(
~prev_veg, ~new_item,
"cabbage", "lettuce",
NA, "apple",
NA, "beef",
NA, "spinach",
NA, "broccoli",
NA, "mango"
)
current
我想循环浏览new item列,只添加蔬菜到prev_veg
.任何新的蔬菜项目都需要添加到现有列表中.重要的是,我有一个可能出现在列表中的所有蔬菜的矢量.下面是所需的数据帧.
target_veg <- c("cabbage","lettuce", "spinach", "broccoli"
desired <- tibble::tribble(
~prev_veg, ~new_item,
"cabbage", "lettuce",
"cabbage, lettuce", "apple",
"cabbage, lettuce", "strawbery",
"cabbage, lettuce", "spinach",
"cabbage, lettuce, spinach", "broccoli",
"cabbage, lettuce, spinach, broccoli", "mango"
)
desired
最后,这个数据框架中还有多个其他数据列,我在这里没有包括(只包括相关列).理想的dplyr解决方案.