为什么R对我的tibble不生气:一个摇摇晃晃的逗号的故事

为什么R对我的tibble不生气:一个摇摇晃晃的逗号的故事,r,tibble,R,Tibble,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. 但由于某些原因,不在TIBLE上: > tibble(a = 1,) # A tibble: 1 x

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.
但由于某些原因,不在TIBLE上:

> tibble(a = 1,)
# A tibble: 1 x 1
      a
  <dbl>
1     1
tibble(a=1,) #一个tibble:1x1 A. 1 1
为什么会这样?过去的事。。。是吗?

我相信代码是有效的,因为
tibble()
的参数是使用
rlang::quos()
处理的名称-值对

quos()
有一个参数
。忽略\u empty=c(“training”、“none”、“all”)

因此,
.ignore\u empty
的默认值为“trailing”-即,
tibble
的最后一个参数如果为空则被忽略。如果更改此选项,您将看到一个错误:

tibble(a = 1, .ignore_empty = "none",)
Error in eval_tidy(xs[[i]], unique_output) : object '' not found
有关详细信息,请参见
?tibble
?quos