簡體   English   中英

R如何將數字轉換為帶有預定義標簽的因子

[英]R How to convert a numeric into factor with predifined labels

labs = letters[3:7]
vec = rep(1:5,2)

如何獲得水平為“ c”,“ d”,“ e”,“ f”,“ g”的因子?

您可以執行以下操作:

labs = letters[3:7]
vec = rep(1:5,2)
factorVec <- factor(x=vec, levels=sort(unique(vec)), labels = c( "c", "d", "e", "f", "g"))

我對unique(vec)進行了排序,以使結果一致。 unique()將根據元素的首次出現返回唯一值。 通過指定順序,代碼將變得更加健壯。

同樣,通過同時指定級別和標簽,我認為代碼將變得更具可讀性。

編輯

如果使用?factor查看文檔,則會發現:

等級
x可能采用的值的可選向量(作為字符串)。 默認值是as.character(x)所采用的唯一值集,並按x的升序排序。 請注意,可以將此集合指定為小於sort(unique(x))

因此,您可以注意到因子派系本身內部進行了一些排序。 但是我認為應該添加級別信息,以使代碼更具可讀性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM