zoukankan      html  css  js  c++  java
  • R中Factor类型选取子集

    Factor是R中的一种数据类型,个人理解就是高级编程语言(C/C++,Python,PHP等)中的枚举

    选取Factor数组中的子集不像character,numeric那样直观,在这里记录选取方法,可能不是最简洁的,如果有,还请高手指点。

    主要思路:将factor转成character,然后按照character的方式选取子集

    看个例子:

    fv <- rep(c('a','b'),5)
    fv <- as.factor(fv)

    输出如下数据

     [1] a b a b a b a b a b
    Levels: a b

    现在,需要将fv的所有枚举取到,也就是'a'和'b'

    names(summary(fv))
    

    输出如下

    [1] "a" "b"
    

     通过下面的代码可以分别取到’a‘或’b‘的子集

    labels <- names(summary(fv))
    fv[fv == labels[1]]  # 选取a的子集
    fv[fv == labels[2]]  # 选取b的子集
    

    输出如下

    > fv[fv == labels[1]]  # 选取a的子集
    [1] a a a a a
    Levels: a b
    > fv[fv == labels[2]]  # 选取b的子集
    [1] b b b b b
    Levels: a b
    

    到这里,提供一种更为方便的思路:将factor转化成numeric后,可以按照numeric的方式选取子集。

    s <- as.factor(rep(c('a','b'),5))
    as.numeric(s)
    

    得到的数据如下:

    [1] 1 2 1 2 1 2 1 2 1 2
    

    第一种方法比较笨拙,建议使用第二种方法。

  • 相关阅读:
    Beta版软件说明书
    团队项目第五天
    cnblogs用户体验评价
    团队项目测试计划
    Alpha版总结会议
    软件使用说明书
    团队绩效考核
    各个小组对于“我爱淘”的评价
    软件工程团队项目评价
    丹佛机场行李系统处理方案
  • 原文地址:https://www.cnblogs.com/bourneli/p/2909752.html
Copyright © 2011-2022 走看看