r - 改变由转换为符号的字符串选择的列
问题描述
我正在尝试将小写字母作为我的数据集的一列
我写了一个基本的愚蠢函数
library(dplyr)
cleaning_tags<-function(data,col)
{
data<-data%>%mutate(!!sym(col)=tolower(!!sym(col)))
return (data)
}
其中 data 是 data.frame 和 column 是作为字符串的列名
我不知道我得到的错误
Error: unexpected '=' in "data%>%dplyr::mutate(!!sym("GROUPDSC") ="
操作员似乎工作正常,sym
因为如果我想这样做
data%>%select(!!sym(col))
它选择所需的列。
谢谢。
解决方案
:=
在为列分配值时尝试使用
library(dplyr)
library(rlang)
cleaning_tags<-function(data,col) {
data %>% mutate(!!sym(col) := tolower(!!sym(col)))
}
df <- data.frame(a = c("ABC", "DEF"))
cleaning_tags(df, "a")
# a
#1 abc
#2 def
推荐阅读
- python - 在列表数组中分组对
- python - validate_unique 调用 form.is_valid() 时会导致 RelatedObjectDoesNotExist
- angular - Ionic 3 Lazy 模块中的条件路由页面
- java - 如何解决snakeyaml NoSuchMethodError:getStyle()
- entity-framework - 实体框架在 SaveChanges 之前检查 DbUpdateException
- javascript - Recharts - 在左侧对齐轴标签
- maven - 谷歌 BigTable 访问错误
- java - 使用 RxJava 进行意外的类型推断
- javascript - 如何将一个对象数组插入另一个数组?
- python - requests.exceptions.ReadTImeout 未捕获