【问题标题】:Timevar Date for googleVis MotionChart RgoogleVis MotionChart R 的 Timevar 日期
【发布时间】:2013-07-05 02:23:58
【问题描述】:

我正在使用的数据集如下所示。这是一个csv文件。

 Date            Subject       val1       val2       val3
    2010-05-01        12         -0.6155     0.5083     2.6286
    2010-06-03        13          0.96416    0.785      1.41
    2010-07-01        14          0.9578     1.258      0.579
    2010-08-01        15          1.249      1.879      0.268

我正在尝试将数据可视化为 gvisMotionchart。

我的代码是:-

test_motionchart<-read.csv("data.csv")
test_motion=gvisMotionChart(test_motionchart,idvar="Subject",timevar="Date")

执行此代码后,我收到错误消息

Error in testTimevar(x[[options$data$timevar]], options$data$date.format) : 
  The timevar has to be of numeric or Date format. Currently it is  factor

任何帮助摆脱这种情况。

提前致谢

【问题讨论】:

    标签: r google-visualization googlevis


    【解决方案1】:

    错误告诉你到底哪里出了问题:

    test <- read.table(text="Date            Subject       val1       val2       val3
        2010-05-01        12         -0.6155     0.5083     2.6286
        2010-06-03        13          0.96416    0.785      1.41
        2010-07-01        14          0.9578     1.258      0.579
        2010-08-01        15          1.249      1.879      0.268",header=TRUE)
    
    > str(test$Date)
     Factor w/ 4 levels "2010-05-01","2010-06-03",..: 1 2 3 4
    

    看到Factor w/ 4 levels了吗?你需要一个Date

    试试:

    test$Date <- as.Date(test$Date)
    

    现在:

    > str(test$Date)
     Date[1:4], format: "2010-05-01" "2010-06-03" "2010-07-01" "2010-08-01"
    

    或者,您可以在使用 colClasses 选项读取 csv 时为特定变量指定 Date 输出:

    test <- read.csv(
    filename.csv,
    header=TRUE,
    colClasses=c(Date="Date")
    )
    

    【讨论】:

    • 当我尝试这个 test$Date
    • @NirojKarki - 好吧,我确实使用了您发布的示例数据,所以它应该可以工作。你能给出dput(test$Date) 的结果以确保没有什么有趣的事情发生吗?
    • dput(test$Date) 的结果是:- structure(list(test_$Date = structure(c1L, 1L, 1L, 1L,.......,1L,2L,2L ,2L,........2L,, .Label = c("2012-11-01", "2012-11-02", "2012-11-03", "2012-11-04", “2012-11-05”、“2012-11-06”、“2012-11-07”、“2012-11-08”、“2012-11-09”、“2012-11-10”、“2012” -11-11”、“2012-11-12”、“2012-11-13”、“2012-11-14”、“2012-11-15”、“2012-11-16”、“2012-11” -18”、“2012-11-20”、“2012-11-21”、“2012-11-22”、“2012-11-23”、“2012-11-24”、“2012-11-25” ", "2012-11-29"), class= "因子")), .Names = "test$Date", row.names = c(NA, -480L), class= "data.frame") –
    • test$Date 的列条目格式非常错误。它应该是一个因素,但它是一个数据框。 OP 应追溯test data.frame 的生成,并删除创建的任何错字test_$Date
    猜你喜欢
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多