如何解决使用列名称更改小标题中的值
我正在尝试使用函数来更改某个地方的小标题列的值。但是,我没有管理它。也许有人可以帮忙。我举了一个简单的示例:
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}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。