gpt4 book ai didi

r - 在 R 中使用 dplyr 进行有效链接

转载 作者:行者123 更新时间:2023-12-01 23:48:31 25 4
gpt4 key购买 nike

我有一个非常简单的问题,我可以破解,但我宁愿在 R 中使用 dplyr. 之类的东西更有效地做事话虽这么说,对于非常擅长该软件包的人来说,这个问题可能非常简单。

我有一个数据框,3 列和 30 行(为简单起见)。我想计算第 87 个百分位分数。之后,我想将该分数归一化到 0 和 1 之间的范围内。非常简单:召回归一化是通过

enter image description here

所以下面的第二行利用了 dplyr 的力量.

DF <- data.frame(matrix(runif(90, min=0, max=100), ncol=3,nrow=30))
DF_87th_percentile <- DF %>%
summarise_each(funs(quantile(., c(0.87)))

之后,我计算了第 87 个百分位分数,但后来我跌跌撞撞地开始创建 minmax变量,

min <- apply(DF, 2, min)
max <- apply(DF, 2, max)

然后

normalized_score <- (DF_87th_percentile - min) / (max - min)

有什么方法可以使用 dplyr 重写最后的部分吗? ?比如,把最后的部分链接起来?到目前为止,我的努力没有效果。提前感谢您的帮助。

最佳答案

您需要将规范化编写为一个函数,以便在 dplyr 链中使用它。例如:

mynorm <- function(x) { (x - min(x)) / (max(x) - min(x)) }

DF <- data.frame(matrix(runif(90, min=0, max=100), ncol=3,nrow=30))

DF %>%
summarise_each(funs(quantile(., c(0.87)))) %>%
mynorm()

示例结果:

  X1 X2       X3
1 0 1 0.986836

关于r - 在 R 中使用 dplyr 进行有效链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27829673/

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