Tôi muốn sử dụng hàm sẽ nhanh chóng cho tôi độ lệch chuẩn của quảng cáo vectơ cho phép tôi bao gồm trọng số cho các phần tử trong vectơ. tức là:độ lệch chuẩn nhanh với trọng số
sd(c(1,2,3)) #weights all equal 1
#[1] 1
sd(c(1,2,3,3,3)) #weights equal 1,1,3 respectively
#[1] 0.8944272
Đối với phương tiện có trọng số, tôi có thể sử dụng từ library(SDMTools)
ví dụ:
> mean(c(1,2,3))
[1] 2
> wt.mean(c(1,2,3),c(1,1,1))
[1] 2
>
> mean(c(1,2,3,3,3))
[1] 2.4
> wt.mean(c(1,2,3),c(1,1,3))
[1] 2.4
nhưng wt.sd
chức năng dường như không cung cấp những gì tôi nghĩ rằng tôi muốn:
> sd(c(1,2,3))
[1] 1
> wt.sd(c(1,2,3),c(1,1,1))
[1] 1
> sd(c(1,2,3,3,3))
[1] 0.8944272
> wt.sd(c(1,2,3),c(1,1,3))
[1] 1.069045
Tôi đang mong đợi một hàm trả về 0.8944272
từ tôi trọng sd
. Tốt nhất tôi sẽ được sử dụng này trên một data.frame như:
data.frame(x=c(1,2,3),w=c(1,1,3))
Lưu ý các tài liệu từ 'SDMTools :: wt.var': "wt.var là phương sai không thiên vị của tính trung bình có cân bằng phương trình của Thư viện Scentific GNU". – Roland