我有一些数据集,其中有些是因素,有些是数字/整数,所以应该是返回因子类级别的命令。
aa bb cc dd
1 12 P 43
4 23 Q 78
8 34 Q 89
9 86 P 78
7 67 P 98
9 76 Q 74
所以,现在如果我想用类因子打印所有级别的变量,即以cc为单位的P和Q,那么我的R命令应该是什么?
提前致谢
答案 0 :(得分:0)
我不确定我是什么意思“用类因子打印所有级别的变量,即用cc表示P和Q”,但我认为你正在寻找subset
:
> x
aa bb cc dd
1 1 12 P 43
2 4 23 Q 78
3 8 34 Q 89
4 9 86 P 78
5 7 67 P 98
6 9 76 Q 74
> subset(x, cc=='P')
aa bb cc dd
1 1 12 P 43
4 9 86 P 78
5 7 67 P 98
答案 1 :(得分:0)
levels
函数显示因子变量的级别。假设您的样本数据称为dat
。要查看因子列的级别而不显示非因子列的NULL
,您可以执行以下操作。
> lapply(dat[sapply(dat, is.factor)], levels)
# $cc
# [1] "P" "Q"
如果有多个因子列,上面的行将显示它们各自的列名和级别。此外,您可以将整个数据集视为一个列表,该列表还将显示任何因子变量的级别。
> as.list(dat)
# $aa
# [1] 1 4 8 9
# $bb
# [1] 12 23 34 86
# $cc
# [1] P Q Q P
# Levels: P Q
# $dd
# [1] 43 78 89 78