欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

R語(yǔ)言 實(shí)現(xiàn)將factor轉(zhuǎn)換成numeric方法

 更新時(shí)間:2021年03月27日 11:30:40   作者:木魚521  
這篇文章主要介紹了R語(yǔ)言 實(shí)現(xiàn)將factor轉(zhuǎn)換成numeric方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

方法1:

such as : x <- factor(c(3,4,5,1))
as.numeric(x)
[1]2 3 4 1

最好是這樣:

as.numeric(levels(x)[x])
[1] 3 4 5 1

方法2:

as.numeric(as.character()) 

該方法最好!

方法3:

read.table時(shí)候就讀成數(shù)值型,R讀的時(shí)候默認(rèn)"NA"是missing,如果你的數(shù)據(jù)不是用NA來(lái)表示missing,那么這一列就讀成string或者factor了

補(bǔ)充:R語(yǔ)言中因子(factor)轉(zhuǎn)換成數(shù)值型(numeric)的問(wèn)題

一直覺(jué)得只要是數(shù)字,不管是什么類型的,都可以通過(guò)as.numeric()函數(shù)轉(zhuǎn)換為對(duì)應(yīng)的numeric類型的數(shù)字,例如

x<-“123”,x為character類型,而as.numeric(x)則為numeric類型的123。但是因子(factor)類型卻不一樣。

a<-factor(c(100,200,300,301,302,400,10)),它們的值分別為100 200 300 301 302 400 10,然而

as.numeric(a)對(duì)應(yīng)的值并非100 200 300 301 302 400 10,而是2 3 4 5 6 7 1。

因子(factor)轉(zhuǎn)換成數(shù)值型(numeric)的規(guī)則是這樣的:

一共有n個(gè)數(shù),那么轉(zhuǎn)換后的數(shù)字就會(huì)在1——n中取值,數(shù)字最小的取一,次小的取二,以此類推。

那么如何讓因子(factor)類型里的數(shù)值轉(zhuǎn)換對(duì)應(yīng)的數(shù)值型呢?

1. mean(as.numeric(as.character(factorname)))

2. mean(as.numeric(levels(factorname)[factorname]))

以上代碼都可以實(shí)現(xiàn)將因子(factor)類型里的數(shù)值轉(zhuǎn)換對(duì)應(yīng)的數(shù)值型,思路都是先轉(zhuǎn)換成字符型然后再轉(zhuǎn)換成數(shù)值型。

相關(guān)文章

最新評(píng)論