2015-10-01 75 views
0

如何計算POSIXlt型變量的標準偏差? 我從summary得到了最小和最大值,但沒有標準偏差。我嘗試sd(dd),我得到莫名其妙的號碼:242.5095POSIXlt型變量的標準偏差

我的數據:

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

請'dput(dd)'。但我想你的價值在幾秒鐘內。 –

+0

如果你能解釋一下?我在R中沒有足夠的經驗 – kenar

+0

說242.5059是莫名其妙的是不公平的。它只是不符合你的預期。我會問的第一個相關問題是,日期/時間對象的標準偏差究竟代表什麼?你打算如何處理它? – Benjamin

回答

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 

注意,我爲了鑄sdnumeric得到一個數字值。另請注意,我使用POSIXct而不是POSIXlt

0

您得到的標準偏差是以秒爲單位。

sd需要一個數字向量,或將輸入轉換爲數字。 as.numeric在內部調用as.double,它給出了自從POSIXlt對象的epoc以來的秒數。