【发布时间】:2018-03-28 19:07:25
【问题描述】:
假设我们有以下数据框
foo
k h=1 h=2 h=3
1 3 3 6 9
2 2 2 5 8
3 1 1 4 7
与
str(check)
'data.frame': 3 obs. of 4 variables:
$ k : Factor w/ 3 levels "3","2","1": 1 2 3
$ h=1: int 3 2 1
$ h=2: int 6 5 4
$ h=3: int 9 8 7
如何根据k 的因子对我的数据框进行子集化?例如,仅获取 k=3 的行或所有行 ksubet(foo, k=3),但它不起作用。我还尝试将列 k 转换为数字,但是我的 data.frame 失去了它的顺序。重要的是数据是关于 k 的降序排列(所以 3、2、1)
【问题讨论】:
-
k是一个因子(分类变量),但不是有序因子(序数变量),因此不等式毫无意义。也许使用k = ordered(3:1, levels=1:3)或类似的代替。然后k == "3"; k < "3"有意义。