Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用变量列名在TIBLE中添加_列_R_Dplyr_Tibble - Fatal编程技术网

R 使用变量列名在TIBLE中添加_列

R 使用变量列名在TIBLE中添加_列,r,dplyr,tibble,R,Dplyr,Tibble,此代码无法在TIBLE中添加列: library(tidyverse) df <- data.frame("Oranges" = 5) mycols <- c("Apples", "Bananas", "Oranges") add_column(df, mycols[[2]] = 7) 但这个代码是有效的: add_column(df, "Bananas" = 7) 为什么? 我不知道“mycols”的价值。这就是为什么我写代码让它成为一个变量。这在dplry

此代码无法在TIBLE中添加列:

  library(tidyverse)
  df <- data.frame("Oranges" = 5)
  mycols <- c("Apples", "Bananas", "Oranges")
  add_column(df, mycols[[2]] = 7)
但这个代码是有效的:

  add_column(df, "Bananas" = 7)
为什么?


我不知道“mycols”的价值。这就是为什么我写代码让它成为一个变量。这在dplry中不可能吗?

您可以使用以下两个选项之一:

add_column(df, "{mycols[2]}" := 7)
add_column(df, !!(mycols[2]) := 7)

第一种是现在更受欢迎的样式,您可以使用
glue
字符串创建参数名称。否则您可以使用
以插入参数名称。两者都需要
:=
允许您使用变量作为参数名(这是调用函数时通常使用的
=
无法做到的)。

这很有效,谢谢。我懂了!!和:=在帮助文件中,但我不理解文档,我以前从未见过使用它们。你能简单地说明他们做什么吗?@Joe看看这里:@Joe“你在一个充满尖锐的编程问题的环境中,一切都不同”@MrFlick有
的文档吗?我在那个链接上看到了
:=
,但不是
的更多信息。您还可以使用
?“!!”
add_column(df, "{mycols[2]}" := 7)
add_column(df, !!(mycols[2]) := 7)