Вы все еще делаете некоторые из ошибок в коде, который я исправил в моих двух предыдущих ответах вам. Итак, давайте попробуем это снова, более явно:
library(ggplot2)
library (XML)
df <- xmlToDataFrame("/tmp/anthony.xml") # assign to df, shorter to type
df
sapply(df, class) # shows everything is a factor
summary(df) # summary for factor: counts !
df$timeStamp <- strptime(as.character(test.df$timeStamp), "%H:%M:%OS")
df$Price <- as.numeric(as.character(test.df$Price))
sapply(df, class) # shows both columns converted
options("digits.secs"=3) # make sure we show sub-seconds
summary (df) # real summary
with(df, plot(timeStamp, Price)) # with is an elegant alternative to attach()
Я также получаю сообщение об ошибке с qplot()
, но у вас просто может быть слишком маленький диапазон ваших данных. Итак, давайте попробуем это:
R> set.seed(42) # fix random number generator
R> df$timeStamp <- df[1,"timeStamp"] + cumsum(runif(7)*60)
R> summary(df) # new timestamps spanning larger range
timeStamp Price
Min. :2010-07-14 12:00:54.90 Min. :15.0
1st Qu.:2010-07-14 12:01:59.71 1st Qu.:15.8
Median :2010-07-14 12:02:58.12 Median :17.5
Mean :2010-07-14 12:02:55.54 Mean :18.0
3rd Qu.:2010-07-14 12:03:52.20 3rd Qu.:18.4
Max. :2010-07-14 12:04:51.96 Max. :25.0
R> qplot(timeStamp,Price, data=df, geom=c("point","line"),
+ scale_y_continuous(limits = c(10,26)))
R>
Сейчас qplot()
работает.
Итак, в итоге вы использовали данные, которые не удовлетворяли некоторым минимальным требованиям для функции qplot
, которую вы использовали, - например, с временной осью, охватывающей более секунды.
Как правило, вы можете начать с Введение в R (поставляется с программой) или другого вступительного текста. Вы первыми перешли к расширенному материалу (типы данных datetime, чтение из XML, факторы и т. Д.) И сгорели. Сначала первые шаги.