2017-04-25 11 views
1

data(最初の行は要素NO.1からNO.15まで、1行目はNO.16からNO.15までです)から1000行(各行は15個の値で構成されています) NO.30; ...)をggplotで実行します。ここで、再生可能コードは次のとおりです。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) 
関連する問題