此代码无法在 tibble 中添加列:
library(tidyverse)
df <- data.frame("Oranges" = 5)
mycols <- c("Apples", "Bananas", "Oranges")
add_column(df, mycols[[2]] = 7)
我收到错误消息:
Error: unexpected '=' in "add_column(df, mycols[[2]] ="
但这段代码有效:
add_column(df, "Bananas" = 7)
Why?
我提前不知道“mycols”的值。这就是为什么我编写代码将其作为变量。这在 dplry 中不可能吗?
您可以使用以下两个选项之一:
add_column(df, "{mycols[2]}" := 7)
add_column(df, !!(mycols[2]) := 7)
第一个是现在您可以使用的更喜欢的样式glue
用于创建参数名称的字符串。否则你可以使用!!
注入参数名称。两者都需要:=
允许您使用变量作为参数名称(您不能使用=
通常在调用函数时使用)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)