我对 R 还很陌生,想要计算 R 中各组的累积标准差。我有一个数据框 D,其中包含访客 ID 以及每个页面所花费的相应页面(顶部)时间,如下所示
ID top
v1 2.3
v1 4.8
v1 10.2
v2 16.2
v2 12.2
v2 14.3
v2 12.4
v3 8.2
v3 8.8
输出需要如下所示
ID top cum_sd
v1 2.3
v1 4.8 1.76
v1 10.2 4.03
v2 16.2
v2 12.2 2.82
v2 14.3 2.00
v2 12.4 1.15
v3 8.2
v3 8.8 0.42
感谢您提前的帮助。
我们可以用runSD
from TTR
。将“data.frame”转换为“data.table”(setDT(df1)
),按“ID”分组,我们应用runSD
在“顶部”列并分配(:=
)输出以创建“cum_sd”。
library(data.table)
library(TTR)
setDT(df1)[, cum_sd := round(runSD(top, n=1, cumulative=TRUE),2) ,ID]
df1
# ID top cum_sd
#1: v1 2.3 NA
#2: v1 4.8 1.77
#3: v1 10.2 4.04
#4: v2 16.2 NA
#5: v2 12.2 2.83
#6: v2 14.3 2.00
#7: v2 12.4 1.87
#8: v3 8.2 NA
#9: v3 8.8 0.42
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)