【发布时间】:2011-10-28 06:40:51
【问题描述】:
先不详
我有data.frames 这样的人:
val1 val2 val3 val4 val5
1 1.1 2 1.1 2.1 4.2
2 5.7 5 5.6 4.9 9.9
3 3.1 3 3.2 2.9 5.9
4 9.6 1 9.5 1.0 2.0
并希望获得(几乎)相等的行。期望的结果类似于
[1] "val1" "val2" "val5"
因为列val3 几乎等于val1,val4 几乎等于val2 和val5 是不同的。
详情:
- “几乎”相等是什么意思(只是下面列出的选项之一):
- 值的绝对差值小于一个固定数字(以上示例为 0.2)
- 值的相对差异小于固定数字(样本约为 11%)
- 其他有意义的指标 ;-)
- 线性相关列的列表会更好(但我认为这更复杂)(这意味着
val5也是由val2和val4组成的组的一部分,因为它大致价值的两倍) - 它不必非常快,
O(n^2)就可以了。 (我的框架只有大约 12 行和 300 列) - 如果这不可能,那么完全相等的列的列表也可以以某种方式工作。然后我会在之前应用
round()函数
【问题讨论】:
-
你会接受使用数组的解决方案吗?无论如何,您的数据看起来像数组数据,因为所有列都具有相同的类。
-
当然,我会接受任何有帮助的 :-)