【发布时间】:2020-07-08 15:32:14
【问题描述】:
我有一个数据集:
structure(list(num = c(12L, 12L), code = structure(1:2, .Label = c("a",
"b"), class = "factor"), ranking = c(2414.5, 2414.5), bottom = c(-0.0153795976572657,
-0.00651997615327495), previous = c(0.00121016455715892,
-0.000166609624290187), of_all_previous = c(-0.000570973882726524,
-0.000771377162183913)), row.names = c(NA, -2L), class = "data.frame")
我想根据num 和ranking 折叠两行,因为它们是相同的,但根据两行的列bottom、previous 和of_all_previous 应按顺序进行比较(意思是:如果它们相等,则转到下一列,如 bottom -> previous -> of_all_previous)并选择具有较高值的 code。
对于提供的示例数据,codeb 因为-0.0065199761532749503 > -0.0153795976572656777 在bottom 列中。
如果它们相等,则必须查看 previous 列。
我认为也许dplyr 可以使用%>% 折叠行但我找不到如何根据条件同时更改行。
我希望输出看起来像这样:
num code ranking
1 12 a 2414
提前致谢。
【问题讨论】:
-
抱歉实际上是
b而不是J.NKEN -
你能显示预期的输出格式吗