2015-05-24 37 views
2

使用handle_click我如何解釋從ggvis返回的日期handle_click

library(ggvis) 
library(dplyr) 

# create data.frame 
counts <- c(1,2) 
dates <- as.Date(c("2015-01-01","2015-01-02")) 
df <- data.frame(count=counts,date=dates) 


# function to view clicked data 
getDate = function(data,location,session){ 
    if(is.null(data)) return(NULL) 
    glimpse(data) 
} 

df %>% 
    ggvis(~date,~count) %>% 
    layer_points() %>% 
    handle_click(getDate) 

點擊第一個點

Observations: 1 
Variables: 
$ date (dbl) 1.42007e+12 
$ count (int) 1 

TIA

時,這將返回初體驗

回答

0

的日期顯示爲從毫秒起源時間被認爲是1970-01-01 00:00:00

正如你可以看到你可以使用變換回到原來的日期:

> as.POSIXct(1.42007e+12/1000, origin='1970-01-01 00:00:00 GMT') 
[1] "2014-12-31 23:53:20 GMT" 

6分鐘的錯誤是由於舍入誤差,我想。

你可以改變你的腳本,看看日期,他們應該出現這樣的:

# function to view clicked data 
getDate = function(data,location,session){ 
    if(is.null(data)) return(NULL) 
    #just added the below line in your code 
    data$date <- as.Date(as.POSIXct((data$date)/1000, origin='1970-01-01 00:10:00 GMT')) 
    glimpse(data) 
} 

df %>% 
    ggvis(~date,~count) %>% 
    layer_points() %>% 
    handle_click(getDate) 

上點擊它返回:

Observations: 1 
Variables: 
$ date (date) 2015-01-01 
$ count (dbl) 1 
+0

/感謝您的。你認爲我們應該做這種轉變還是應該報告它是一個錯誤? – pssguy

+0

不客氣!很高興有幫助:)。我不認爲這是一個誠實的錯誤,因爲有辦法克服它。它可以是一個增強,雖然肯定,所以如果你想報告它,這取決於你:) – LyzandeR

+0

如果可能的話,還有一塊援助在一個Shiny應用程序中,我如何引用這個日期在一個被動? – pssguy

相關問題