1. 程式人生 > >R: factor & list 生成和操作因子、列表

R: factor & list 生成和操作因子、列表

shu p s 類型 問題 rac 方便 left 函數 nba

###################################################

問題:生成、操作列表 & 因子 18.4.27

怎麽生成列表 list、因子 factor、,,及其相關操作 ???

解決方案:

vec = vector(length=6); vec #[1] FALSE FALSE FALSE FALSE FALSE FALSE

#vector 函數生成一個長度為 length 的空向量,元素為FALSE。可逐個賦值。vector 函數可用來代替 c 函數。

#添加元素的及合並向量,新向量 <- (原向量,新元素) append(v,10,after=3)在第三個元素後面加入10,

#如果X包括名稱:x[2]得到名字和值成對輸出,x[[2]]只輸出值。

list1 = list(x1 = a,x2 = vec,x3 = list_,x4 = mat1); # list可包含所有類型的數據。命名(x1)可方便提取數據,list內命名只能用“=”

#幾乎所有R中的函數的輸出結果都是保存在list中。

the_li = list1$x3; # "提取" list 中的數據, 賦值給新的變量,

factor #R給每個字一個唯一的整數,可以用as.numeric看到。

#生成帶順序的因子 factor(x = iris$Species,levels =c(1:3),order = TRUE )。

討論擴展:

factor(status, order = TRUE, levels = c("Poor", "Improved", "Excellent"))

#各個水平的值就為1 = Poor, 2 = Improved, 3 = Excellent,等價於如下:

factor(status, ordered = TRUE, levels = c("Poor", "Improved", "Excellent"))

factor(x = liang$linbashu,levels =c(1:53),order = TRUE )

liang$gender = factor(liang$性別,levels=c("女","男"),labels = c(0,1))

#多個水平時,用levels=c(2,1,4,3) 來改變因子順序。

as.numeric(as.character(factorname)) #讓因子(factor)類型裏的數值轉換對應的數值型:先轉換成字符型

另請參閱:

R: factor & list 生成和操作因子、列表