R希望事情是如此。命令必须完全正确,而且正确无误。
因此,悬挂的逗号不好。
例如,在向量上:
> c(1,)
Error in c(1, ) : argument 2 is empty
或数据框:
> data.frame(a = 1,)
Error in data.frame(a = 1, ) : argument is missing, with no default.
但由于某些原因,没有小标题:
> tibble(a = 1,)
# A tibble: 1 x 1
a
<dbl>
1 1
为什么会这样?发生了什么...对吗?
答案 0 :(得分:3)
我认为代码之所以有效,是因为tibble()
的参数是使用rlang::quos()
处理的名称/值对。
quos()
有一个自变量.ignore_empty = c("trailing", "none", "all")
。
因此.ignore_empty
的默认值为“ trailing”-即。如果为空,则忽略tibble
的最后一个参数。如果您更改此设置,则会看到错误:
tibble(a = 1, .ignore_empty = "none",)
Error in eval_tidy(xs[[i]], unique_output) : object '' not found
有关详细信息,请参见?tibble
和?quos
。