R: factor & list 生成和操作因子列表
Posted 5号平凡的我
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)类型里的数值转换对应的数值型:先转换成字符型
另请参阅:
以上是关于R: factor & list 生成和操作因子列表的主要内容,如果未能解决你的问题,请参考以下文章
几何结构因子(Geometrical structure factor)和原子形状引子(atomic form factor)