0

我尝试阅读 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”中看到的吗?这样做的功能目的是什么?

4

1 回答 1

1

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
于 2021-02-05T18:49:30.680 回答