gpt4 book ai didi

在 R 中重新排序字母数字年龄组

转载 作者:行者123 更新时间:2023-12-05 01:23:49 27 4
gpt4 key购买 nike

假设这就是 R 给我的。

df1 = data.frame(grp = c("<2", "2-5", "21-26","27-32","6-10"), val= rep(0,5))
grp val
1 <2 0
2 2-5 0
3 21-26 0
4 27-32 0
5 6-10 0

但我希望 R 能够理解 6 < 21 并给出:

df2 = data.frame(grp = as.factor(c("<2", "2-5", "6-10", "21-26", "27-32")), val= rep(0,5))
grp val
1 <2 0
2 2-5 0
3 6-10 0
4 21-26 0
5 27-32 0

我尝试了 gtools 中的 mixedsort(),但它返回索引而不是重新排序的数据帧。任何提示或想法如何做到这一点?

编辑。感谢出色的@akrun,我意识到我必须首先将他的 dplyr 建议答案分配给另一个对象,比如 new_df,然后将 new_df 传递给我的其余代码。

最佳答案

您也可以使用基本 R 明确所需的级别(和强制排名顺序):

grp <- factor(c("<2", "2-5", "6-10", "21-26", "27-32"),
levels = c("<2", "2-5", "6-10", "21-26", "27-32"),
ordered = TRUE
)

注意在这种情况下使用 factor 而不是 as.factor

关于在 R 中重新排序字母数字年龄组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71818110/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com