如何计算POSIXlt类型变量的标准差?
我从summary
获得了最小值和最大值,但没有标准偏差。我试着sd(dd)
,我得到了莫名其妙的数字:242.5095
我的数据:
str(dd)
POSIXlt[1:71]
format: "2015-10-01 00:03:43" "2015-10-01 00:01:06" "2015-10-01 00:01:17" "2015-10-01 00:00:41" ...
summary(dd)
Min. 1st Qu. Median Mean 3rd Qu.
"2015-10-01 00:00:26" "2015-10-01 00:01:00" "2015-10-01 00:01:19" "2015-10-01 00:03:02" "2015-10-01 00:03:15"
Max.
"2015-10-01 00:26:08"
答案 0 :(得分:0)
我将dplyr
用于此:
dd = data.frame(t = Sys.time() + 1:100)
dd %>% summarise_each(funs(mean, min, max, as.numeric(sd(.))))
mean min max as.numeric
1 2015-10-01 11:40:25 2015-10-01 11:39:35 2015-10-01 11:41:14 29.01149
请注意,我首先将sd
转换为numeric
以获取数值。另请注意,我使用POSIXct
而非POSIXlt
。
答案 1 :(得分:0)
您获得的标准差以秒为单位。
sd
采用数字向量,或将输入转换为数字。 as.numeric
在内部调用as.double
,它提供自POSIXlt
个对象的epoc以来的秒数。