在R中,当x和y重复时,我想提取z的最小值

问题描述

在R中,当x和y重复时,我想拉出z的最小值。

行x y z 3559 1284283 10315402 20995 3560 1284283 10315402 20982 3596 1284341 10315344 20995 3597 1284341 10315344 20982 3633 1284399 10315286 20995 3634 1284399 10315286 20982

到目前为止,我做到了:

识别区域中重复的x,y位置,创建逻辑矢量

我在第4列的数据帧中添加了逻辑向量

z1_repeat_xy

df_Zone1 $ repeat_xy

 line#       x        y     z repeat_xy
135161 1283668 10314903 19994     FALSE
135164 1283726 10314845 19994     FALSE
135167 1283784 10314787 19994     FALSE
135170 1283842 10314729 19994     FALSE
135171 1283842 10314729 19981      TRUE
135172 1283842 10314729 19968      TRUE

现在我想要与第四列中包含真值的 minimum z值以及包含FALSE的行


我在重复列中仅使用TRUE值创建新的df

df_repeats

使用ave()函数创建了test_max和test_min df 似乎做到了我想要的。给出重复xy值的最小或最大z值。

test_max

test_min

write.table(test_max,file =“ test_max.txt”,sep =“”,row.names = FALSE)

write.table(test_min,file =“ test_min.txt”,sep =“”,row.names = FALSE)

file test_max

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)