【发布时间】:2011-02-04 01:06:53
【问题描述】:
好的,我对 R 还很陌生,我已经尝试在文档中搜索我需要做的事情,但这就是问题所在。
我有一个名为 heeds.data 的 data.frame,格式如下(为简单起见,省略了一些列) eval.num,eval.count,...适应度,fitness.mean,green.h.0,green.v.0,offset.0,green.h.1,green.v.1,...green。 h.7、green.v.7、offset.7...
我选择了符合以下条件的行:
best.fitness <- min(heeds.data$fitness.mean[heeds.data$eval.count >= 10])
best.row <- heeds.data[heeds.data$fitness.mean == best.fitness]
现在,我想要的是所有其他行,其列 green.h.0 到 offset.7(列的连续部分)等于 best.row
我认为这可能有效
heeds.best <- heeds.data$fitness[
heeds.data$green.h.0 == best.row$green.h.0 & ...
]
但是对于 24 列,这似乎是一种愚蠢的方法。寻找一些更简单、手动输入更少的东西。
这里有一个简短的数据示例来说明我想要什么
eval.num, eval.count, fitness, fitness.mean, green.h.0, green.v.0, offset.0
1 1 1500 1500 100 120 40
2 2 1000 1250 100 120 40
3 3 1250 1250 100 120 40
4 4 1000 1187.5 100 120 40
5 1 2000 2000 200 100 40
6 1 3000 3000 150 90 10
7 1 2000 2000 90 90 100
8 2 1800 1900 90 90 100
应该选择“最佳”作为第 4 行 然后我想抓取结果如下
eval.num, eval.count, fitness, fitness.mean, green.h.0, green.v.0, offset.0
1 1 1500 1500 100 120 40
2 2 1000 1250 100 120 40
3 3 1250 1250 100 120 40
4 4 1000 1187.5 100 120 40
数据实际上并没有排序,还有更多列,但这就是概念
谢谢!
【问题讨论】:
-
您可以编辑您的帖子以实际显示数据和代码吗?
-
好的,怎么样?我希望这会让事情变得更清楚。至于代码,我知道如何选择我想要的最低值,并且我需要代码来获取某些列与该列匹配的行。
标签: r select statistics duplicates dataframe