gpt4 book ai didi

r - 如何计算圆形数据的标准差

转载 作者:行者123 更新时间:2023-12-02 01:45:27 28 4
gpt4 key购买 nike

我遵循此处列出的建议来计算循环数据的平均值:

https://en.wikipedia.org/wiki/Mean_of_circular_quantities

但我也想计算标准差。

#A vector of directional data (separated by 20 degrees each)
Dir2<-c(350,20,40)

#Degrees to Radians
D2R<-0.0174532925

#Radians to Degrees
Rad2<-Dir2 * D2R


Sin2<-sin(Rad2)
SinAvg<-mean(Sin2)

Cos2<-cos(Rad2)
CosAvg<-mean(Cos2)

RADAVG<-atan2(SinAvg, CosAvg)
DirAvg<-RADAVG * R2D

上面给出了平均值,但我不知道如何计算 SD

我试图只取正弦和余弦标准差的平均值,但我得到了不同的答案。

SinSD<-sd(Sin2)
CosSD<-sd(Cos2)
mean(CosSD, SinSD)

最佳答案

您可以使用circular包来实现:

x <- circular(Rad2)
mean(x)
# Circular Data:
# Type = angles
# Units = radians
# Template = none
# Modulo = asis
# Zero = 0
# Rotation = counter
# [1] 0.2928188 # The same as yours
sd(x)
# [1] 0.3615802

手动,

sqrt(-2 * log(sqrt(sum(Sin2)^2 + sum(Cos2)^2) / length(Rad2)))
# [1] 0.3615802

sd.circular的源代码可以看出。

另请参阅herehere .

关于r - 如何计算圆形数据的标准差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55616697/

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