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

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

问题:生成、操作列表 & 因子   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)类型里的数值转换对应的数值型:先转换成字符型

另请参阅:

猜你喜欢

转载自www.cnblogs.com/li-20151130/p/9026643.html