根据R中不同列中的值对列中的值进行排序

Jj布列文

我有以下面板数据集:

group  i  f  r  d
1      4  8  3  3
1      9  4  5  1
1      2  2  2  2
2      5  5  3  2
2      3  9  3  3
2      9  1  3  1

我想根据每个组的d列中的值对该数据框中的i列重新排序。因此,第i列中第1组的最大值应对应于d列中的最大值。最后,我的data.frame应该看起来像这样:

group  i  f  r  d
1      9  8  3  3
1      2  4  5  1
1      4  2  2  2
2      5  5  3  2
2      9  9  3  3
2      3  1  3  1
克里斯

原始(错误)

您可以使用dplyr实现此目的rank

library(dplyr)

df1 %>% group_by(group) %>%
  mutate(i = i[rev(rank(d))])

编辑

这个问题实际上比最初看起来要棘手,我发布的原始答案不正确。正确的解法由的i子集排序之前由排序d这给出了OP所需的输出,而我以前的答案没有(不引起注意!)

df1 %>% group_by(group) %>%
  mutate(i = i[order(i)][rank(d)])
# A tibble: 6 x 5
# Groups:   group [2]
#  group     i     f     r     d
#  <int> <int> <int> <int> <int>
#1     1     9     8     3     3
#2     1     2     4     5     1
#3     1     4     2     2     2
#4     2     5     5     3     2
#5     2     9     9     3     3
#6     2     3     1     3     1

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据列中的不同值对 RDD 进行排序

根据R中的特定列值对列块进行排序

如何根据列的值对Laravel中的行进行排序?

根据 perl 中的标题对 CSV 列值进行排序

根据列中的值对数据表进行排序

根据列中的最大值对列进行排序 - R 数据框排列

R:根据关联值对数据框中的列进行排序?

根据 R 中不同列中的值删除/更改列中的值

如何根据其他列中的值对 Pandas 中的值进行排序?

如何根据其他列值对一列中的值进行排序?

R 数据框:如何根据另一列中不同值的列值对数据进行切片

根据PostgreSQL中的值计算不同的列

根据不同列中的值重复行

根据不同的条件更改列中的值

根据表中的不同值查询列

对R中的数据框进行排序(基于列值)

按 R 中的列值对表行进行排序

对熊猫中的列值进行排序

根据列中的唯一值在R中进行汇总

根据 R 中另一列的值对列中的值进行分组

根据R中另一个排序后的列值对数据框进行排序

Excel中的值根据列中的重复值进行分组

如何根据 R 中不同列中的日期/时间范围更改 1 列中的值

如何根据分配给它的值对列中的值进行排序?

如何根据具有重复值的列对熊猫中的值进行排序

如何根据dplyr中的group_by对列中的值进行排序

根据列对数据框中的日期进行排序,并使用Pandas保持其他列的值

根据列的值和另一列中列表的长度对数据框进行排序

如何根据散列中的值通过函数对散列进行排序