为什么add_column给数据赋一个字母?

Why does add_column assign a letter to the data?

我试着通读了 R 关于 add_column 函数的文档,但我对它提供的示例有点困惑。见下文:

# add_column ---------------------------------
df <- tibble(x = 1:3, y = 3:1)

df %>% add_column(z = -1:1, w = 0)
df %>% add_column(z = -1:1, .before = "y")

# You can't overwrite existing columns
try(df %>% add_column(x = 4:6))

# You can't create new observations
try(df %>% add_column(z = 1:5))

这些被分配范围的字母的用途是什么?例如:

z = 1:5

我对文档的理解是 add_column() 接受一个数据帧并根据默认为数据帧末尾的 .before 和 .after 参数将其附加到适当的位置。

我在这里有点困惑。还有一个接受名称-值对的“...”参数。这就是我看到的“z = 1:5”吗?这个的功能目的是什么?

data.frame 列在 R 中总是有一个名称,也不例外。

由于 add_column 添加了新列,您需要为这些列指定名称。

……好吧,从技术上讲,您 不需要 。以下作品:

df %>% add_column(1 : 3)

但是 add_column 会根据您传递给它的表达式自动生成列名,您可能不喜欢结果(在这种情况下,字面意思是 1:3,这不是便于使用的名称)。

相反,下面的方法也行得通并且非常合理:

z = 1 : 3
df %>% add_column(z)

结果:

# A tibble: 3 x 3
      x     y     z
  <int> <int> <int>
1     1     3     1
2     2     2     2
3     3     1     3