R中Factor类型选取子集
2013-02-10 13:23
99 查看
Factor是R中的一种数据类型,个人理解就是高级编程语言(C/C++,Python,PHP等)中的枚举。
选取Factor数组中的子集不像character,numeric那样直观,在这里记录选取方法,可能不是最简洁的,如果有,还请高手指点。
主要思路:将factor转成character,然后按照character的方式选取子集。
看个例子:
输出如下数据
现在,需要将fv的所有枚举取到,也就是'a'和'b'
输出如下
通过下面的代码可以分别取到’a‘或’b‘的子集
输出如下
到这里,提供一种更为方便的思路:将factor转化成numeric后,可以按照numeric的方式选取子集。
得到的数据如下:
第一种方法比较笨拙,建议使用第二种方法。
选取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
第一种方法比较笨拙,建议使用第二种方法。
相关文章推荐
- MFC 目录选取,指定类型文件查找复制
- bzoj4475【JSOI2015】子集选取
- bzoj 4475: [Jsoi2015]子集选取 数学
- BZOJ4475 [Jsoi2015]子集选取
- pandas 选取子集的操作
- bzoj 4475: [Jsoi2015]子集选取
- Mac版R语言入门(五)R语言中的数据类型之factor因子
- 4th Oct 2014:R语言中的factor类型
- [BZOJ4475][JSOI2015]子集选取(DP+结论)
- MySQL:建表及字段类型选取
- mysql选取数据类型的标准(重要)
- File文件如何选取指定类型文件
- BZOJ 4475: [Jsoi2015]子集选取 快速幂
- HTML5 input新增的几种类型(数字、日期、颜色选取、范围)
- UVA 1151 Buy or Build 最小生成树+二进制选取子集
- 使用 Qt 批量选取指定类型文件源代码
- BZOJ4475 JSOI2015子集选取(动态规划)
- BZOJ 4475: [Jsoi2015]子集选取
- 【BZOJ4475】子集选取(计数)
- 使用 Qt 批量选取指定类型文件源代码