gpt4 book ai didi

根据字符串变量对行重新排序

转载 作者:行者123 更新时间:2023-12-02 03:48:41 26 4
gpt4 key购买 nike

我需要重新排序类似于下面的数据框。我需要伦敦在任何不同的 Var 中首先出现,但保持 var 的顺序(“pop、gdp、lifespec...)非常重要,因为我之后正在做矩阵代数。

    City      Var value
Chicago pop 0.08
London pop 0.24
Paris pop 0.75
Chicago gdp 0.55
London gdp 0.49
Paris gdp 0.23
Chicago lifespec 0.45
London lifespec 0.39
Paris lifespec 0.28
Chicago percjobs 0.12
London percjobs 0.13
Paris percjobs 0.01

所以我想要的输出如下:

    City      Var value
London pop 0.24
Chicago pop 0.08
Paris pop 0.75
London gdp 0.49
Chicago gdp 0.55
Paris gdp 0.23
London lifespec 0.39
Chicago lifespec 0.45
Paris lifespec 0.28
London percjobs 0.13
Chicago percjobs 0.12
Paris percjobs 0.01

我尝试创建一个 df$rank,其中伦敦的值为 1,其他地区的值为 9。然后我尝试使用 sort(),但所有伦敦值都崩溃在顶部。你有什么想法吗?

最佳答案

在这里收集有关该问题的评论以提供简单的两行代码。

d <- read.table(text='City Var value
Chicago pop 0.08
London pop 0.24
Paris pop 0.75
Chicago gdp 0.55
London gdp 0.49
Paris gdp 0.23
Chicago lifespec 0.45
London lifespec 0.39
Paris lifespec 0.28
Chicago percjobs 0.12
London percjobs 0.13
Paris percjobs 0.01', header=T)

d$Var <- factor(d$Var, unique(d$Var))
d[order(d$Var, d$City != "London"), ]

# City Var value
# 2 London pop 0.24
# 1 Chicago pop 0.08
# 3 Paris pop 0.75
# 5 London gdp 0.49
# 4 Chicago gdp 0.55
# 6 Paris gdp 0.23
# 8 London lifespec 0.39
# 7 Chicago lifespec 0.45
# 9 Paris lifespec 0.28
# 11 London percjobs 0.13
# 10 Chicago percjobs 0.12
# 12 Paris percjobs 0.01

关于根据字符串变量对行重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24035379/

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