2013-03-19 29 views
6

Tôi đang tạo ứng dụng để phân tích dữ liệu chuỗi thời gian bằng Shiny. Các dữ liệu tôi làm việc với vẻ ngoài như:Hiển thị đối tượng POSIXt với bảng kết xuất sáng bóng

    V1  V2 
1 2013-02-04 18:15:00 -4.746 
2 2013-02-04 18:20:00 -4.745 
3 2013-02-04 18:25:00 -4.746 
4 2013-02-04 18:30:00 -4.747 
5 2013-02-04 18:35:00 -4.747 
6 2013-02-04 18:40:00 -4.747 

Tôi muốn âm mưu dữ liệu trong một bảng:

output$view <- renderTable({ 
    head(datasubset(), 
    n=nrow(datasubset())) 
}) 

Làm như vậy tôi nhận được một thông báo lỗi khi chạy Shiny:

Error in Math.POSIXt(x + ifelse(x == 0, 1, 0)) : 
     'abs' not defined for "POSIXt" objects 

Có ai có một giải pháp cho lỗi này?

CẬP NHẬT: Lỗi được gây ra bởi xtable: renderTable sử dụng xtable() để tạo đầu ra và có vẻ như xtable không hoạt động tốt với ngày nói chung.

Một vấn đề đã được nộp ở đây bởi Winston Chang: https://github.com/rstudio/shiny/issues/129

Một cách giải quyết là có sẵn tại địa chỉ: R: xtable and dates

+0

lo oks như một lỗi! Hãy thử điều này, 'datasubset $ V1 <- as.character (datasubset $ V1)' – agstudy

Trả lời

1

Nhìn vào chức năng strftime trong gói cơ bản. Đi nghỉ định dạng các đối tượng POSIXt làm ký tự và cho phép bạn chỉ định định dạng.

Bạn có thể làm someting như thế này trước khi bạn in bảng:
datasubset$V1 <- strftime(datasubset$V1, format="%Y-%m-%d %H:%M:%S")

0

Hy vọng điều này sẽ Help-

output$$view <- DT::renderDataTable({ 

DataFrame<<-read.xlsx(inFile$datapath, 1) 

datatable(DataFrame)%>% 
    formatDate(2, method = 'toISOString') 

return(DataFrame) 

}) 

đây bạn có thể vẽ đồ thị dataframe "DataFrame" trong mainpanel và cũng có thể sử dụng này dataframe trong ứng dụng của bạn để tính/sửa đổi thêm bằng cách sử dụng

return(DataFrame) 
Các vấn đề liên quan