服务器之家

服务器之家 > 正文

R语言 实现将数据框中的字符类型数字转换为数值

时间:2021-12-31 16:09     来源/作者:Candle_light

场景1

我现在有一个数据框datexpr,里面的数字都是以字符型表示的,像这样

> datexpr[1,1]
[1] " 1.143773961"

现在我想把这个数据框中的字符型数字全部转为数值型数字

使用下面语句即可

datexpr2=as.data.frame(lapply(datexpr,as.numeric))

现在再次查看,就是数值型啦,整个数据框中的内容也都是数值型的啦

> datexpr2[1,1]
[1] 1.143774

 

场景2

我现在有一个数据框datexp,我想先把它转置之后,然后再把数据框内的字符型数字 转换为数值型数字

由于转置之后数据框变成了矩阵,所以要用data.frame把矩阵又变回数据框,同时在转数据框的时候一定要加上stringsAsFactors = F

不然之后做数值型数字转换的时候,得到的结果就不是原来的小数,而是一些奇怪的数字

datexpr<-t(datexp)
datexpr<-data.frame(datexpr,stringsAsFactors = F) 
datexpr2=as.data.frame(lapply(datexpr,as.numeric))

补充:R中利用 apply() 将数据框中 factor 类型变量改为数值型

 

举个例子

library(mlbench)
data(BreastCancer)
str(BreastCancer)

 

此时输出为:

R语言 实现将数据框中的字符类型数字转换为数值

BreastCancer1 <- apply(BreastCancer[,2:10],2,as.numeric)  # 将2-10列的数据变成数值型
BreastCancer <- data.frame(BreastCancer1, BreastCancer[,11])  
names(BreastCancer)[names(BreastCancer) == 'BreastCancer...11.'] <- 'class'
str(BreastCancer)

此时输出结果为:

R语言 实现将数据框中的字符类型数字转换为数值

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/Candle_light/article/details/84374814

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部