首页
/
每日頭條
/
生活
/
r語言中如何看變數的長度
r語言中如何看變數的長度
更新时间:2026-10-31 14:26:16

因子在R語言中可以用來表示名義型變量或有序變量。名義變量一般表示類别,如性别,種族等等。有序變量是有一定排序順序的變量,如職稱,年級等等。在R語言中,名義變量和有序變量可以使用因子來表示。

創建因子

在R語言中可以使用factor()函數和gl()函數來創建因子變量。

(1)使用factor()函數

factor()函數的語法格式為:

f <- factor(x=charactor(), levels, labels=levels, exclude = NA, ordered = is.ordered(x), namax = NA)

其中:

x 為創建因子的數據,是一個向量;

levels:因子數據的水平,默認是x中不重複的值;

labels:标識某水平的名稱,與水平一一對應,以方便識别,默認取levels的值;

exclude:從x中剔除的水平值,默認為NA值;

ordered:邏輯值,因子水平是否有順序(編碼次序),若有取TRUE,否則取FALSE;

nmax:水平個數的限制。

下面給出幾個具體的例子來說明具體使用方法:

fc1 <- factor(c(1, 2, 3, 3, 1, 2, 2, 3, 1, 3, 2, 1))

fc2 <- factor(rep(1:3, times = 2), labels = c("A", "B", "C"))

grade <- c("Freshman", "Sophomore", "Junior", "Senior")

fc3 <- factor(grade, ordered = TRUE) #對于字符型向量,因子的水平默認依字母順序創建

fc4 <- factor(grade, ordered = TRUE, levels = c("Freshman", "Sophomore", "Junior", "Senior")) #指定levels,則按levels中的順序定義數值

本部分執行情況如下圖所示:

r語言中如何看變數的長度(R語言中因子的創建與使用)1

使用factor函數創建因子

(2)使用gl()函數

gl()函數用于定義有規律的因子向量,其語法格式如下:

gl(n, k, length = n*k, labels = 1:n, ordered = FALSE)

其中參數的含義如下:

n: 正整數,表示因子的水平個數

k:正整數,表示每個水平重複的次數;

length: 正整數,表示因子向量的長度,默認為n*k

labels: 表示因子水平的名稱,默認值為1:n

ordered: 邏輯變量,表示因子水平是否是有次序的,默認值為FALSE

g1 <- gl(3, 3) # 1 1 1 2 2 2 3 3 3

g2 <- gl(3, 3, 5) # 1 1 1 2 2

g3 <- gl(3, 2, labels = c('A', 'B', 'C')) # A A B B C C

本部分的結果情形如下圖所示:

r語言中如何看變數的長度(R語言中因子的創建與使用)2

使用gl函數創建因子

因子的索引

fc1[1] #訪問輸出第一個水平

fc1[1:3] #訪問輸出1~3個水平

fc1[c(1, 4, 7)] #訪問輸出第1,4,7個水平值

fc1[-1] #排除第一個

fc1[-c(1:4)] #排除第1~4個

fc1[fc1 != 1] #過濾掉等于1的因子水平

fc3[fc3 > 'Junior'] #對于有序因子可以使用>,>=,<,<=,!=,==;而非有序因子,隻可以使用!=和==

注意:因為因子一般表示名義變量或有序變量,如非有序因子,則使用>,>=,<,<=比較大小是沒有意義的。

本部分執行情況如下圖所示:

r語言中如何看變數的長度(R語言中因子的創建與使用)3

因子索引

因子的修改

fc1[1] <- 3 #注意,修改的值必須在原有的水平中

fc1[1:3] <- 2 #将1~3個水平值改為2

fc1[-1] <- 3 #将除第1個水平之外的其它水平值修改為3

fc1[-c(1,4,7)] <-1 #将除第1,4,7個水平之外的值修改為1

執行情況如下:

r語言中如何看變數的長度(R語言中因子的創建與使用)4

因子的修改


歡迎關注本号,本号近期持續更新R語言的内容。從簡入深,從基本語法到實際的數據分析應用。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
社區老年人活動内容有哪些(芙蓉社區開展老年人權益保障條例宣傳活動)
社區老年人活動内容有哪些(芙蓉社區開展老年人權益保障條例宣傳活動)
  2019年1月7日上午,芙蓉社區在一樓活動室組織開展《老年人權益保障條例》宣傳活動。      為大力弘揚中華民族傳統美德,在轄區範圍内營造愛老、尊老、敬老、助老的良好氛圍,為切實維護老年人的合法權益,提高和加強廣大居民的敬老意識,活動期間,芙蓉社區工作人員不僅宣傳了黨和政府有關老齡工作的方針政策,還為在場的老年居民解讀了《老年人權益保障條例》等涉老方面...
2026-10-31
成毅張予曦夢醒長安全部剪輯(成毅張予曦再挑大梁)
成毅張予曦夢醒長安全部剪輯(成毅張予曦再挑大梁)
  進入7月份以來,電視劇行業貌似沒有6月份那麼火爆,7月份開機的電視劇不是很多,目前已知的有,宋祖兒和侯明昊主演的《閱讀課》;張若昀、胡軍主演的《雪中悍刀行》等等,雖然早前傳出多部影視劇預計在7月開機,但目前為止還沒有最新的官方消息。      而就在近期,又有一部古裝大制作官宣開機,這部新劇是由劉國楠、趙立軍聯合執導,成毅、張予曦、宣璐、韓棟等主演的古裝...
2026-10-31
畫一幅南宋的千裡江山圖(雄關漫道真如鐵)
畫一幅南宋的千裡江山圖(雄關漫道真如鐵)
  來源:中央廣播電視總台央視科教      1935年1月15日至17日,中央紅軍召開了具有重大轉折意義的遵義會議,會議确立了毛澤東同志在中國共産黨和紅軍中的領導地位。      當時的形勢依然極其嚴峻,蔣介石調集40多萬兵力企圖包圍紅軍。為緩解當時的嚴峻局勢,中央軍委決定撤出遵義,北渡長江。   撤離遵義後,中央紅軍遭遇了川軍郭勳祺部的重兵圍堵,損失嚴重...
2026-10-31
賈靜雯的古裝戲(45歲賈靜雯再演古裝)
賈靜雯的古裝戲(45歲賈靜雯再演古裝)
  相信被困在家的寶寶們已經迫不及待的想看正在制作的《成華十四年》,應粉絲們的要求,官博發了好幾次男主的定妝照,從照片中可以看出,在這部劇中不管是正派還是反派,男演員們的顔值都是剛剛的。其中,男主是由官鴻主演,男二是博孟柏,就連最壞的宦官都是由大帥哥劉耀元。哇!這樣的陣容,超級令人期待哦!            在男演員的定妝照出來之後,粉絲們更加期待了女演...
2026-10-31
星漢燦爛吳磊和趙露思的日常生活(星漢燦爛實現完美逆襲)
星漢燦爛吳磊和趙露思的日常生活(星漢燦爛實現完美逆襲)
  自從《夢華錄》播出以來,無論是劇中的演員抑或是鵝廠都可謂是名利雙收,不僅斬獲了一大波人氣,同時也賺足了觀衆的眼淚,算得上是今年古偶劇中天花闆的存在了。   而《夢華錄》的落幕也就意味着吳磊與趙露思主演的《星漢燦爛》的接班。   《星漢燦爛》同樣改編自原版小說,而它的作者恰恰也是《知否》的作者,作為宅鬥劇的天花闆的後繼之作,《星漢燦爛》的故事中也涵蓋着宅鬥...
2026-10-31
Copyright 2023-2026 - www.tftnews.com All Rights Reserved