gpt4 book ai didi

r - 按组计算标准偏差,不包括 R 中的当前观察值

转载 作者:行者123 更新时间:2023-12-04 10:29:44 25 4
gpt4 key购买 nike

计算 R 数据框中每个组的平均值很容易。如果要排除当前观察,it is almost as easy .

有什么简单的方法可以在计算标准差时排除当前观测值吗?

比如当我有这张表

data.frame(country = c(rep("A",3), rep("B",3)), weight = c(10,11,12,20,25,30))

,我需要下表:

data.frame(country = c(rep("A",3), rep("B",3)), weight = c(10,11,12,20,25,30), standarddeviation = c(sd(c(11,12)), sd(c(10,12)), sd(c(10,11)), sd(c(25,30)), sd(c(20,30)), sd(c(20,25))))

最佳答案

一个选项是使用dplyrmapplymapply 对(组的)每一行运行,sd 计算排除当前行。

library(dplyr)

df %>% group_by(country) %>%
mutate(Sp_SD = mapply(function(x)sd(weight[-x]), 1:n()))


# # A tibble: 6 x 3
# # Groups: country [2]
# country weight Sp_SD
# <fctr> <dbl> <dbl>
# 1 A 10.0 0.707
# 2 A 11.0 1.41
# 3 A 12.0 0.707
# 4 B 20.0 3.54
# 5 B 25.0 7.07
# 6 B 30.0 3.54

关于r - 按组计算标准偏差,不包括 R 中的当前观察值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50566679/

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