如何使用共享的第三列(从最低到最高)在第四列中对ID的组合进行排序?

8位

编辑:适用于经打勾的答案的修改版本,如下所示

data1 <- data %>% group_by(pitch_2) %>% mutate(rank = order(euclid_dist))

原版的 - -

我在自己的数据帧中有时间框架中所有可能的音高组合(超过8000万个)的配对-pitch_1下是一个id,pitch_2下是另一个id,第三列是euclid_dist,用于度量一个音高与另一个音高的接近程度-并且我想在数据框中创建第四列,在该列中,按最低编号(最佳匹配)到最高编号对组合进行排名。

我希望相对于pitch_2中具有相同主音高的其他组合进行排名。因此,与所有其他与相同音高_2进行比较的音高_1相比,他们首先按最低数字对音高_1之下的音高进行排名。

这只是我的数据的样子

> head(data)
    pitch_1   pitch_2 euclid_dist
2 400010-FF 493247-SI    3.631515
3 493247-SL 493247-SI    3.125729
4 349193-FT 493247-SI    4.619143
5 150037-FF 493247-SI    4.137001
6 218596-FF 493247-SI    2.536352
7 218596-SI 493247-SI    1.438356

使用那个小子集上的排名,我得到了我想要的数据看起来像什么,但不知道如何将其扩展到我的大数据框,其中包含大量的pitch_2

data$rank <-  rank(data$euclid_dist)

我希望它看起来像什么(有些行您看不到,这些行填补了其他行列)

    pitch_1   pitch_2 euclid_dist rank
2 400010-FF 493247-SI    3.631515    7
3 493247-SL 493247-SI    3.125729    6
4 349193-FT 493247-SI    4.619143   10
5 150037-FF 493247-SI    4.137001    8
6 218596-FF 493247-SI    2.536352    4
7 218596-SI 493247-SI    1.438356    1
欧米莉·阿蒂亚

使用dplyrs mutate +顺序:

df <- data_frame(x = c(100, 300, 400, 50, 20, 600))

df <- df %>% mutate(xx = order(x))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Unix环境中,如何用与第四列的字符串相关联的第三列的数字填充列?

如何在单表中将对应于两个库仑的数据显示到SQL的第三列和第四列中?

R循环根据第三列从两列复制内容,然后输出到第四列

如何使用Dplyr对前四列和后四列进行分组?

使用Java中的方法按比例从最低到最高的数字对数组进行排序

Python数据框-如何对由年,月,日数据组成的三个不同列进行分组,并从第四列计算总和

从前三列中获取不同的列值,并将第四列值SQL赋予优先级

總計第四列

比较三列,并保留第四列中最新时间戳的出现

比较三列数据并在第四列设置标志

Excel:根据其他三列的值填充第四列

SumIF三个条件满足返回第四列的值

按从最低到最高的顺序对整数进行排序

如何排序JSON数据-从最低到最高排序返回结果

在向量或列中查找第二(第三...)最高/最低值的最快方法

GnuPlot中的3维图,其中颜色是数据文件中的第四列?

如何将该Python程序的结果从最低到最高排序?

MS Excel-在两张纸之间匹配3列。找到匹配项时,将每列的第四列复制到第三张表

在第四列的输出中说明谁命令的“:0”值

/proc/.../mountinfo中的第四列(根)是什么意思?

使我的表按四列排序

如何通过第三列中的数字对数据进行排序?

将数组从最低到最高排序 FORTRAN

如何在四列/网格中显示 HTML 表格

如何将表格中的数据分为四列?

如何在css中制作动态四列布局

如何将第二列和第四列写入另一个文件

如何使用 MySQL 在第三列中对具有最大值的 2 列进行分组?

如何使用 JSON 数据在四列中创建 HTML 表?