正则表达式 – 从数据框中删除百分比
发布时间:2020-12-14 05:36:47 所属栏目:百科 来源:网络整理
导读:我有一个源自excel文件的数据框.它在列上方有通常的标题,但是有些列中有%符号,我想删除它们. 搜索stackoverflow提供了一些很好的代码来删除矩阵中的百分比,Any way to edit values in a matrix in R?,当我尝试将其应用到我的数据框架时这不起作用 as.numeri
我有一个源自excel文件的数据框.它在列上方有通常的标题,但是有些列中有%符号,我想删除它们.
搜索stackoverflow提供了一些很好的代码来删除矩阵中的百分比,Any way to edit values in a matrix in R?,当我尝试将其应用到我的数据框架时这不起作用 as.numeric(gsub("%","",my.dataframe)) 相反,它只返回一串“NA”,并带有警告信息,说明它们是由强制引入的.当我申请时, gsub("%",my.dataframe)) 我得到了“c(…)”形式的值,其中……表示数字后面跟着我为每一列重现的逗号.没有%是有证据的;如果我能把它放回原处……我会做饭. 非常感谢任何帮助,谢谢. 解决方法
根据@ Arun的评论和成像,您的data.frame如何:
> DF <- data.frame(X = paste0(1:5,'%'),Y = paste0(2*(1:5),Z = 3*(1:5),stringsAsFactors=FALSE ) > DF # this is how I imagine your data.frame looks like X Y Z 1 1% 2% 3 2 2% 4% 6 3 3% 6% 9 4 4% 8% 12 5 5% 10% 15 > # Using @Arun's suggestion > (DF2 <- data.frame(sapply(DF,function(x) as.numeric(gsub("%",x))))) X Y Z 1 1 2 3 2 2 4 6 3 3 6 9 4 4 8 12 5 5 10 15 我在sapply调用中添加了as.numeric,结果cols是数字,如果我不使用as.numeric,结果将是因子.使用sapply(DF2,类)检查出来 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |