【发布时间】:2018-10-10 15:14:08
【问题描述】:
我正在使用这个:
OriginalData <- data.frame(lapply(OriginalData, function(x) lower(trim(x))))
为整个数据帧删除空格并将字符转换为小写。
不幸的是,条目如下:
Hello world
不转换为:
hello world
有什么想法吗?谢谢!
【问题讨论】:
标签: r
我正在使用这个:
OriginalData <- data.frame(lapply(OriginalData, function(x) lower(trim(x))))
为整个数据帧删除空格并将字符转换为小写。
不幸的是,条目如下:
Hello world
不转换为:
hello world
有什么想法吗?谢谢!
【问题讨论】:
标签: r
使用这个:
tolower(trimws(" Hello world"))
[1] "hello world"
对于list,你做对了:
lapply(list(" Hello world", " Hello world", " Hello world"), function(x) tolower(trimws(x)))
purrr 包的另一种解决方案:
purrr::map(list(" Hello world", " Hello world", " Hello world"),
function(x) tolower(trimws(x)))
与map 的通话时间较短:
purrr::map(list(" Hello world", " Hello world", " Hello world"), ~tolower(trimws(.)))
【讨论】:
purrr时不使用简写符号~?
purrr::map 会比lapply 快? REFERENCE
如果 RLave 没有更快的话,我可能也会使用 trimws。
OriginalData <- data.frame( A = I(c("Hehe huhu"," Hehe huhu ", " Hehe Huhu")), B = I(c("Funny Lol"," Funny Lol ", " Funny Lol")))
OriginalData[] <- lapply(OriginalData, function(x) gsub("^\\s+|\\s+$", "" , tolower(x)))
【讨论】: