我之前已经问过这些问题,并在佐贺的帮助下解决了这个问题。 我正在进行模拟研究。我必须重新组织我的结果并继续分析。
我有一个包含可能结果的数据矩阵
> data
It S X Y F
1 1 0.5 0.8 2.39
1 2 0.3 0.2 1.56
2 1 1.56 2.13 1.48
3 1 2.08 1.05 2.14
3 2 1.56 2.04 2.45
.......
显示迭代 S显示在IT内部工作的第二次迭代 X表示从方法获得的X的坐标 Y表示从方法获得的Y的坐标 F显示F统计量。
我的问题是我必须为每次迭代找到最小F值。所以我必须将每次迭代存储在不同的矩阵或数据帧上,并找到最小的F值。
我尝试过很多东西但没有奏效。任何帮助,想法将不胜感激。
编辑:更新了表格信息
这是解决方案:
库(dplyr)
数据%>% group_by(It)%>% 切片(which.min(F))
It S X Y F
1 1 2 0.30 0.20 1.56 2 2 1 1.56 2.13 1.48 3 3 1 2.08 1.05 2.14
但是,我将继续另一个for循环,我想选择提供上述条件的每个X值。
例如当我使用数据$ X [i]时此代码不选择X的值(0.30,1.56,2.08)。它在分组之前从“数据”中选择原始值。我怎么解决这个问题?
答案 0 :(得分:0)
我希望这是你所期待的:
> library(dplyr)
> data %>%
group_by(It) %>%
slice(which.min(F))
# A tibble: 3 x 5
# Groups: It [3]
It S X Y F
<dbl> <dbl> <dbl> <dbl> <dbl>
1 1 2 0.30 0.20 1.56
2 2 1 1.56 2.13 1.48
3 3 1 2.08 1.05 2.14