【发布时间】:2015-01-27 21:30:32
【问题描述】:
我有一个包含维度列和 4 个值列的数据框。如何对列进行子集化,以使每条记录的所有 4 列都小于给定的 x?我知道我可以使用子集手动执行此操作并为每列指定条件,但是有没有办法使用可能的应用函数来执行此操作? 下面是一个示例数据框。例如,假设 x 为 0.7。在这种情况下,我想消除该行的任何列大于 0.7 的任何行)。
zips ABC DEF GHI JKL
1 1 0.8 0.6 0.1 0.6
2 2 0.1 0.3 0.8 1.0
3 3 0.5 0.1 0.4 0.8
4 4 0.6 0.4 0.2 0.3
5 5 1.0 0.8 0.6 0.5
6 6 0.2 0.7 0.3 0.4
7 7 0.3 1.0 1.0 0.2
8 8 0.7 0.9 0.5 0.1
9 9 0.9 0.5 0.9 0.7
10 10 0.4 0.2 0.7 0.9
以下功能似乎有效,但有人可以解释这里的逻辑吗?
Variance_Percentile[!rowSums(Variance_Percentile[-1] > 0.7), ]
zips ABC DEF GHI JKL
4 4 0.6 0.4 0.2 0.3
6 6 0.2 0.7 0.3 0.4
【问题讨论】:
-
我认为这会将数据帧子集化,并且只保留列总和小于 0.7 的行。我不想走太远。我想保留所有列小于 0.7 的所有行
-
请显示示例数据的结果
-
嗯,确实有效?你能解释一下这里发生了什么吗?我认为 rowSums 会总结每一行?
-
刚刚添加了它的功能