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