2017-04-25 95 views
1

我想從data開始依次繪製千行(每行由15個值組成)(第一行從元素NO.1到NO.15;第二行從NO.16到NO.30; ...)與ggplot。這裏是一個reproduceable代碼:用ggplot繪製數千行

data<-data.frame(y=rnorm(95040)) 
p<-ggplot(data=data.frame(y=data[1:15,]),aes(x=c(1:15),y=y))+geom_line(alpha=I(1/7),size=1) 
for(i in 1:(nrow(data)/15-1)){ 
    p<-p+geom_line(data=data.frame(y=data[(i*15+1):(i*15+15),]),aes(x=c(1:15),y=y),alpha=I(1/7),size=1) 
} 

當環路在i=621運行時,它會報告錯誤:

Error: evaluation nested too deeply: infinite recursion/options(expressions=)? 
Error during wrapup: evaluation nested too deeply: infinite recursion/options(expressions=)? 

爲什麼發生這種情況,以及如何(另一個情節的方法也許)解決這個情節的問題?

+0

莫非這幫助http://stackoverflow.com/questions/22003021/explanation-of-r-optionsexpressions-to-non-computer-scientists ? –

+1

有數千行的情節是無用的和不必要的臃腫。無論如何,你無法區分劇情中的多條線。 – Roland

+2

另外,學習圖形的語法。這不是你在ggplot2中做這個任務的方式。從創建分組變量開始。 – Roland

回答

4

我認爲你需要像這樣...

data<-data.frame(y=rnorm(95040)) 
data$x <- 1:15 
data$group <- (1:nrow(data)) %/% 15 
p<-ggplot(data=data,aes(x=x,y=y,group=group))+geom_line(alpha=I(1/7),size=1)