gpt4 book ai didi

regex - 从数据框中删除百分比

转载 作者:行者123 更新时间:2023-12-01 23:14:11 25 4
gpt4 key购买 nike

我有一个源自 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

我加了 as.numericsapply如果我不使用 as.numeric,则要求结果 cols 为数字结果将是 factor .使用 sapply(DF2, class) 检查一下

关于regex - 从数据框中删除百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14385060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com