2014-09-19 123 views
-1

我有一个名为June的数据框,名为Hour的列包含; 0:00,0:15,0:30,0:45,1:00,1:15,直到23:45,然后重复30天。另一个名为Diff_H1H2的列包含数字数据,例如; 0.0017,0.0067,-0.019,-0.24等。你可以为同一个x坐标绘制多个y点吗?

我只想绘制数据并尝试。

plot(June$Hour, June$Diff_H1H2) 

这是错误信息。

Error in plot.window(...) : need finite 'xlim' values 
In addition: Warning messages: 
1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion 
2: In min(x) : no non-missing arguments to min; returning Inf 
3: In max(x) : no non-missing arguments to max; returning -Inf 

而且这些都是类:

> class(June$Hour) 
[1] "character" 
> class(June$Diff_H1H2) 
[1] "numeric" 
+0

是'六月$ Hour'格式化为角色?这会给你的错误。以日期/时间格式格式化“June $ Hour”,然后您就可以绘制它。 – eipi10 2014-09-19 19:59:35

+1

如果您发布数据样本以便其他人可以在特定问题的背景下提出解决方案,那么人们可以更轻松地帮助您。例如,要发布20个随机选择的数据行,将'dput(6月[sample(1:nrow(June),20),])'的输出粘贴到您的问题中。 – eipi10 2014-09-19 20:26:27

回答

0

我做了一些假数据给你:

Hour <- rep(c('0:15', '0:30', '0:45'), 3) 
Hour <- as.numeric(gsub(':', '', Hour)) 
Diff_H1H2 <- runif(9, min = 0, max = 1) 
June <- data.frame(Hour, Diff_H1H2) 

plot(June$Hour, June$Diff_H1H2, xaxp = c(15, 45, 2)) 

numeric image

要将数据转换为日期/时间格式你可以做下面的代替as.numeric行:

Hour <- paste0("2010-01-01", " ", Hour, ":00") 
Hour <- as.POSIXct(Hour) 

当与下图中的代码会导致其他几行运行:

time image

相关问题