【问题标题】:Indexing - Rearranging dataframe in R索引 - 在 R 中重新排列数据框
【发布时间】:2014-06-23 07:07:22
【问题描述】:

直截了当,我有这个数据框,如果这是正确的“术语”,我想重新编号它的索引。

    month1  ID   
1     8.27  57
2     6.70  59
3     9.61  60
4    10.79  61
5    10.22  62

问题是这两列来自不同的 sql 数据集,它们共享一些键。 我需要根据这些键重新索引我的表。

例如,这个表达式for (i in val2$TMEST_ID[i] == val$ID[i]) 包含上述两个键。最新的val$ID 实际上是我的数据名中已经存在的ID 列。

那么我该如何重新排列我的数据,以便我可以根据上述关系获得month1 值?

请注意,我最感兴趣的是重新排列而不是从头开始重新创建数据框。

我希望问题足够清楚,如果没有,请要求澄清。谢谢

【问题讨论】:

  • 您的意思是按与ID 列中的值匹配的向量中的值对数据框的行进行排序吗?

标签: r indexing dataframe


【解决方案1】:

我想这就是你想要的?

vec <- c(8,6,4)
head(mtcars[order(mtcars$cyl, match(mtcars$cyl, vec)),])

                mpg cyl  disp hp drat    wt  qsec vs am gear carb
Datsun 710     22.8   4 108.0 93 3.85 2.320 18.61  1  1    4    1
Merc 240D      24.4   4 146.7 62 3.69 3.190 20.00  1  0    4    2
Merc 230       22.8   4 140.8 95 3.92 3.150 22.90  1  0    4    2
Fiat 128       32.4   4  78.7 66 4.08 2.200 19.47  1  1    4    1
Honda Civic    30.4   4  75.7 52 4.93 1.615 18.52  1  1    4    2
Toyota Corolla 33.9   4  71.1 65 4.22 1.835 19.90  1  1    4    1

【讨论】:

    猜你喜欢
    • 2013-07-03
    • 2012-10-01
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 2022-09-23
    • 2017-03-27
    • 2015-09-25
    相关资源
    最近更新 更多