小编Gar*_*ett的帖子

R - 确定哪些列包含货币数据$

我有一个非常大的数据集,其中一些列格式为货币,一些数字,一些字符.在读取数据时,所有货币列都被标识为因子,我需要将它们转换为数字.数据集太宽,无法手动识别列.我试图找到一种编程方式来识别列是否包含货币数据(例如,以'$'开头),然后传递要清理的列列表.

name <- c('john','carl', 'hank')
salary <- c('$23,456.33','$45,677.43','$76,234.88')
emp_data <- data.frame(name,salary)

clean <- function(ttt){
as.numeric(gsub('[^a-zA-z0-9.]','', ttt))
}
sapply(emp_data, clean)
Run Code Online (Sandbox Code Playgroud)

此示例中的问题是,此sapply适用于所有列,导致name列替换为NA.我需要一种方法来以编程方式识别clean函数需要应用于的列...在此示例中为salary.

currency r data-cleaning

1
推荐指数
1
解决办法
175
查看次数

标签 统计

currency ×1

data-cleaning ×1

r ×1