gpt4 book ai didi

对 data.frame 中的元素进行排名

转载 作者:行者123 更新时间:2023-12-04 11:11:57 26 4
gpt4 key购买 nike

假设我有一个数据框,如下所示:

df <- data.frame(
variable = rep(letters[1:10], 2),
y2 = 1:10,
y1 = c(10, 9, 8 ,7, 6, 5, 4, 2, 1, 3),
stat = c(rep(letters[1], 10), rep(letters[2], 10))
)

通过“stat”,我想创建三个新列,一个显示 y1y2 的编号排名,另一个计算排名变化y1y2 之间(第 1 年和第 2 年的缩写)。

我一直在修改 ddply,但我似乎无法让它做我想做的事。这是我尝试过的一个示例(这也可以说明我正在尝试做的事情):

ddply(df, .(stat), function(x) data.frame(
df,
y1rank = rank(x$x),
y2rank = rank(x$y),
change = rank(x$y) - rank(x$x)
))

最佳答案

您还可以使用新的 mutate 函数来避免重新计算列:

ddply(df, .(stat), mutate,
y1rank = rank(y1),
y2rank = rank(y2),
change = y2rank - y1rank
)

关于对 data.frame 中的元素进行排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912867/

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