gpt4 book ai didi

r - 将 tidyr complete() 与变量中指定的列名一起使用

转载 作者:行者123 更新时间:2023-12-01 08:07:17 24 4
gpt4 key购买 nike

我在使用 tidyr::complete() 时遇到问题以列名作为变量的函数。
内置示例按预期工作:

df <- data_frame(
group = c(1:2, 1),
item_id = c(1:2, 2),
item_name = c("a", "b", "b"),
value1 = 1:3,
value2 = 4:6
)

df %>% complete(group, nesting(item_id, item_name))
但是,当我尝试将列名作为字符串提供时,它会产生错误。
gr="group"
id="item_id"
name="item_name"
df %>% complete_(gr, nesting_(id, name),fill = list(NA))

最佳答案

我认为这是一个错误 complete_不能使用 data.frames 或列表列,如 complete可以,但这里有一个使用 unite_ 的解决方法和 separate模拟 nesting :

df %>% unite_('id_name', c(id, name)) %>% 
complete_(c(gr, 'id_name')) %>%
separate(id_name, c(id, name))

## # A tibble: 4 × 5
## group item_id item_name value1 value2
## * <dbl> <chr> <chr> <int> <int>
## 1 1 1 a 1 4
## 2 1 2 b 3 6
## 3 2 1 a NA NA
## 4 2 2 b 2 5

关于r - 将 tidyr complete() 与变量中指定的列名一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40577484/

24 4 0