0

我正在使用的数据集如下所示。它是一个 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

任何帮助摆脱这种情况。

提前致谢

4

1 回答 1

2

该错误会告诉您确切的问题:

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"

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

test <- read.csv(
filename.csv,
header=TRUE,
colClasses=c(Date="Date")
)
于 2013-07-05T02:29:34.823 回答