2014-04-10 40 views
0

我想创建一个虚拟数据示例,以便我可以更好地向论坛提问我的问题。基本上,我试图在一页纸上创建一个带有6个图形的PDF。下面是我一直在尝试构建的示例代码。虚拟数据示例

#Dummy data 
Data1 <- data.frame(flow = c(8,8.5,6,7.1,9), SP_elev = c(20,11,5,25,50)) 
Data2 <- data.frame(flow = c(7,7.2,6.5,8.2,8.5), SP_elev = c(13,15,18,25,19)) 
Data3 <- data.frame(flow = c(2,3,5,7,9), SP_elev = c(20,25,28,30,35)) 
Data4 <- data.frame(flow = c(1,4,6,8,9), SP_elev = c(13,15,18,25,19)) 
Data5 <- data.frame(flow = c(1,4,6,8,9), SP_elev = c(13,15,18,25,19)) 
Data6 <- data.frame(flow = c(1,4,6,8,9), SP_elev = c(22,23,25,27,29)) 

#Create Vector list (in place of list.files) 
dataframes = list("Data1" = data1, 
        "Data2" = data2, 
        "Data3" = data3, 
      "Data4" = data4, 
      "Data5" = data5, 
      "Data6" = data6) 

# open the PDF device 
pdf(file="Dummy_Example.pdf", paper="letter", height=10, width=8) 

#Create array of plots 
par(mfrow=c(3,2)) 

#plot a with regression model 
for (i in dataframes) { 

plot (i[,c('flow', 'SP_elev')], xlab=expression(paste("Discharge (", ft^3, "/s)",sep = "")), ylab= "Elevation (m)", tck=0.02, adj = 0.5) 

} 

# close the PDF device 
dev.off() 

我不断收到错误

Error in i[, c("flow", "SP_elev")] : incorrect number of dimensions 
+0

短暂和不良的修复将会'get(i)' – baptiste

+0

@baptiste我会把它放在哪里?在剧情功能? – dubbbdan

+0

你的'dataframes'实际上是一个字符向量,而不是一个列表。你应该使用'dataframes <--list()'作为baptiste建议 –

回答

3

你应该把你的data.frames在列表中,

dataframes = list("Data1" = Data1, 
        "Data2" = Data2, 
        "Data3" = Data3) # I gave up here 

您的代码应工作的其余部分。

+0

我将字符向量更改为名单,我仍然收到相同的错误。 – dubbbdan

+0

你拼错的数据,别忘了首都D – baptiste

+0

令人惊叹。有效。我猜我的眼睛很累。非常感谢。 – dubbbdan