使用列名称更改小标题中的值

问题描述

我正在尝试使用函数来更改某个地方的小标题列的值。但是,我没有管理它。也许有人可以帮忙。我举了一个简单的示例:

noga2 <- tibble(a = c(1,12),b=c(12,3))
iot_test <- function(data,selcol) {
   data <- data %>%  mutate(UQ(selcol):= if_else(str_length((selcol)) == 2,"TA","0"))
   return(data)
}
iot_test(noga2,"a")

这是结果:

  a         b
 <chr> <dbl>
1 0        12
2 0         3

但是我们的想法是只更改列a中的第二个值。

谢谢 伦格

解决方法

如果您将ensym用作字符传递,则可以在selcol上使用selcol。然后,您需要双击以取消对noga2 <- tibble(a = c(1,12),b = c(12,3)) iot_test <- function(data,selcol) { selcol <- ensym(selcol) mutate(data,!!selcol := if_else(str_length(!!selcol) == 2,"TA","0")) } iot_test(noga2,"a") #> # A tibble: 2 x 2 #> a b #> <chr> <dbl> #> 1 0 12 #> 2 TA 3 所在位置的引用。

{maxResults:1}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...