Domanda

Data set i am using is shown below. It is a csv file.

 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

I am trying to visualize the data be gvisMotionchart.

My code is:-

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

After executing this code i get error message which says

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

Any help to get out of this.

Thanks in advance

È stato utile?

Soluzione

The error tells you exactly what is wrong:

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

See the Factor w/ 4 levels? You need a Date instead.

Try:

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

Now:

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

Alternatively you can specify you want a Date output for the specific variable when reading in the csv using the colClasses option:

test <- read.csv(
filename.csv,
header=TRUE,
colClasses=c(Date="Date")
)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top