【发布时间】:2022-01-15 14:46:50
【问题描述】:
foo() 将数据框except= 的所有字符列小写,其名称由用户提供。
我想知道为什么当我提供except="study" 时,foo 错误地将study 中的study 列小写在data 中?
可重现的代码和所需的输出如下。
m="
study cap back
AA L 1
BB F 2
CC H 8"
data <- read.table(text=m,h=T)
foo <- function(X, except = NULL){
y <- sapply(setdiff(names(X), except), function(x) is.character(as.vector(X[[x]])))
X[y] <- lapply(X[y], tolower)
return(X)
}
#=== EXAMPLE OF USE:
foo(data, except = c("study"))
Desired_output=
"
study cap back
AA l 1
BB f 2
CC h 8"
【问题讨论】:
标签: r dataframe function dplyr character