我使用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))
tidyr
可以做一些东西,但向你扔箭头是一个有趣的功能。 - David Arenburgcomplete_
正常工作:df %>% complete(group, nesting_(setNames(list(.[[id]], .[[name]]), c(id, name))))
另外,它很丑。 - alistaire