POSIXlt类型变量的标准偏差

时间:2015-10-01 09:25:01

标签: r

如何计算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" 

2 个答案:

答案 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以来的秒数。