我想创建一个 Dataframe ,其中的列的值依赖于另一个对象的值。
下面是一个例子,我希望我的列命名为“conditional_colname”:
x = "conditional_colname"
df <- data.frame(x = c(1, 2, 3))
df
> x
1 1
2 2
3 3
我可以尝试以下indirection syntax in tidy evaluation,但它返回错误:
data.frame({{x}} := c(1, 2, 3))
> Error in `:=`({ : could not find function ":="
我可以通过使用rename
函数和indirection in tidy evaluation syntax来解决这个问题,如下所示:
df %>% rename({{x}} := x)
> conditional_colname
1 1
2 2
3 3
但这涉及到用错误的名称创建 Dataframe ,然后重命名它,是否有任何选项可以从创建数据集开始重命名?
1条答案
按热度按时间oalqel3c1#
{{..}}
可以与tibbles
一起使用-使用data.frame的解决方案是
setNames
。