美文网首页
2.4 因子

2.4 因子

作者: Andrew_bao | 来源:发表于2017-05-18 10:16 被阅读0次

    2.4 因子

    统计中变量:区间变量,名义变量和有序变量

    区间变量取连续的数值,可以进行求和平均值等运算

    名义变量和有序变量离散值可以是数值,也可以字符串型,

    在具体数值没有加减乘除的意义,不能用来计算,而只能分类和计数。

    名义变量如性别,省份,职业,有序变量如班级,名次。

    2.4.1 factor()函数

    因为离散值变量有各种不同的表示方法,在R软件中,为了统一起见,使用因子(factor)来表示这种类型变量。

    例如:

    sex<-c("M","F","M","M","F")
    sexf<-factor(sex);sexf #可以获取数据中水平

    函数factor()用来把一个向量编码成为一个因子.其一般形式为:

    factor(x,levels = sort(unique(x),na.last=TRUE),labels,exclude = NA,ordered = FALSE)

    X向量数据,一般是少量区分的数据值

    level是水平,可以自动指定各离散取值,不指定时由x的不同值来求得。

    labels可以用来指定各水平的标签,不指定是用个离散取值的对应字符串

    exclude参数用来指定要转换为缺失值(NA)的元素值集合。

    如果指定levels,则因子的第i个元素当它等于水平中第j个时元素值取j,

    如果它的值没有出现在levels中,则对应因子元素值取NA。

    ordered取值为真时,表示因子水平有次序的,否则是无次序的。

    is.factor()检验对象是否因子。

    as.factor()把一个向量转换成一个因子.

    函数levels()可以得到因子水平

    sex.level<-levels(sexf);sex.level

    对于因子向量,可用函数table()来统计各类数据的频数。

    sex.tab<-table(sex);sex.tab

    2.4.2 tapply()函数

    例如:已知5名学生的性别,身高,分组求身高的平均值

    height<-c(174,165,180,171,160)
    tapply(height,sex,mean)

    tapply()一般形式:

    tapply(X, INDEX, FUN = NULL, ..., simplify = TRUE)

    x是一个对象,index是与x有同样长度的因子,fun是需要计算的函数,

    simplify是逻辑变量,取值为TRUE和FALSE

    2.4.3 gl()函数

    gl()一般用于产生因子

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

    n为水平数,k为每个水平重复次数,length为结果长度

    labels是n维向量,表示因子水平,

    ordered是逻辑变量,表示是否为有序因子,缺失值为FALSE

    gl(3,5)
    gl(3,1,15)

    相关文章

      网友评论

          本文标题:2.4 因子

          本文链接:https://www.haomeiwen.com/subject/yqfsxxtx.html