R語(yǔ)言-修改(替換)因子變量的元素操作
因子變量的核心是水平,通過(guò)指定水平來(lái)修改。
x<-c(1,1,1,1,2,2,2,3,3,3,3,4) xx<-factor(x);xx levels(xx) #得到水平為3的位置 level_3<-which(levels(xx)==3) #重新賦值 levels(xx)[level_3]<-03 xx #由于新值是03,0開(kāi)頭,所以把03當(dāng)成3處理 levels(xx)[level_3]<-c("03") xx #字符串會(huì)自動(dòng)轉(zhuǎn)換成因子 levels(xx)[level_3]<-333 xx #只要不是0開(kāi)頭的數(shù)字,都可以識(shí)別成因子 #如果還存在原來(lái)的因子水平,則刪除未使用的因子水平 xx<-droplevels(xx)
補(bǔ)充:R語(yǔ)言開(kāi)發(fā)之變量的數(shù)據(jù)類型&賦值&查找&刪除
R語(yǔ)言中的變量提供了程序可以操作的命名存儲(chǔ),這個(gè)變量可以存儲(chǔ)原子向量,而原子向量組或許多R對(duì)象的組合。所以,有效的變量名稱應(yīng)該是由字母,數(shù)字和點(diǎn)或下劃線字符組成,并且變量名稱以字母開(kāi)頭,或者點(diǎn)后面不帶數(shù)字,我們來(lái)看一些變量命名的示例,如下:
變量名 | 合法性 | 原因 |
---|---|---|
var_name2. | 有效 | 由字母,數(shù)字,點(diǎn)和下劃線組成 |
var_name% | 無(wú)效 | 含有字符“%”因此無(wú)效。只允許點(diǎn)(.)和下劃線(_)組成。 |
2var_name | 無(wú)效 | 以數(shù)字開(kāi)頭,因此無(wú)效。 |
.var_name, var.name | 有效 | 可以以點(diǎn)(.)開(kāi)頭,但點(diǎn)(.)后面不應(yīng)是數(shù)字。 |
.2var_name | 無(wú)效 | 以點(diǎn)(.)但后跟一個(gè)數(shù)字使其無(wú)效。 |
_var_name | 無(wú)效 | 以下劃(_)開(kāi)始因此無(wú)效。 |
R語(yǔ)言中的變量可以使用向左,向右和等于運(yùn)算符分配值,還可以使用print()或cat()函數(shù)打印變量的值,其中cat()函數(shù)將多個(gè)變量或項(xiàng)目組合成一個(gè)連續(xù)的打印輸出 ,我們來(lái)看下使用實(shí)例:
輸出結(jié)果如下:
上述代碼中的向量c(TRUE,1)具有邏輯和數(shù)字類的混合,所以邏輯類被強(qiáng)制為數(shù)字類,使TRUE為1。大家注意下就好。
R語(yǔ)言中的變量本身沒(méi)有被聲明為任何數(shù)據(jù)類型,而是獲取分配給它的R對(duì)象的數(shù)據(jù)類型,所以R被稱為動(dòng)態(tài)類型語(yǔ)言,這意味著我們可以在程序中使用它時(shí)一次又一次地改變同一個(gè)變量的變量的數(shù)據(jù)類型,或者使用同一個(gè)變量來(lái)存儲(chǔ)任何數(shù)據(jù)類型,來(lái)看下案例:
輸出結(jié)果如下:
我們?nèi)缦胍拦ぷ鲄^(qū)中當(dāng)前可用的所有變量,可使用ls()函數(shù),并且它也可以使用模式來(lái)匹配變量名,示例如下:
輸出結(jié)果如下:
根據(jù)我們的環(huán)境中聲明的變量可能所有不同,所以我們的輸出和這里輸出結(jié)果可能不太一樣,注意紅色框框中的內(nèi)容就好。我們接下來(lái)嘗試使用ls()函數(shù)的模式來(lái)匹配變量名,示例如下:
輸出結(jié)果如下:
以點(diǎn)(.)開(kāi)頭的變量是隱藏的,它們可以使用ls()函數(shù)的“all.names = TRUE”參數(shù)列出,示例如下:
輸出結(jié)果如下:
我們可以使用rm()函數(shù)刪除變量,示例如下:
輸出結(jié)果如下:
好啦,本次記錄就到這里了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
R語(yǔ)言 數(shù)據(jù)表匹配和拼接 merge函數(shù)的使用
這篇文章主要介紹了R語(yǔ)言 數(shù)據(jù)表匹配和拼接 merge函數(shù)的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03R語(yǔ)言 用均值替換、回歸插補(bǔ)及多重插補(bǔ)進(jìn)行插補(bǔ)的操作
這篇文章主要介紹了R語(yǔ)言 用均值替換、回歸插補(bǔ)及多重插補(bǔ)進(jìn)行插補(bǔ)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03R語(yǔ)言rhdf5讀寫hdf5并展示文件組織結(jié)構(gòu)和索引數(shù)據(jù)
這篇文章主要為大家介紹了R語(yǔ)言rhdf5讀寫hdf5并展示文件組織結(jié)構(gòu)和索引數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06R語(yǔ)言學(xué)習(xí)筆記缺失數(shù)據(jù)的Bootstrap與Jackknife方法
這篇文章主要為大家介紹了R語(yǔ)言學(xué)習(xí)筆記關(guān)于缺失數(shù)據(jù)的Bootstrap與Jackknife的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11R語(yǔ)言中向量和矩陣簡(jiǎn)單運(yùn)算的實(shí)現(xiàn)
這篇文章主要介紹了R語(yǔ)言中向量和矩陣簡(jiǎn)單運(yùn)算的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03R語(yǔ)言ggplot2邊框背景去除的實(shí)現(xiàn)
這篇文章主要介紹了R語(yǔ)言ggplot2邊框背景去除的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03R語(yǔ)言正態(tài)分布的實(shí)現(xiàn)示例
R語(yǔ)言中正態(tài)分布包括四個(gè)主要函數(shù):rnorm、dnorm、pnorm、qnorm,分別用于生成隨機(jī)數(shù)、計(jì)算概率密度、累積概率和計(jì)算分位數(shù),本文就來(lái)詳細(xì)的介紹一下具體用法,感興趣的可以了解一下2024-10-10