我试图按data顺序绘制千行(每行由 15 个值组成)(第一行是从元素 NO.1 到 NO.15;第二行是从元素 NO.16 到 NO.30;...) 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)
}
Run Code Online (Sandbox Code Playgroud)
当循环运行在 时i=621,它会报告错误:
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Error during wrapup: evaluation nested too deeply: infinite recursion / options(expressions=)?
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况以及如何解决这个绘图问题(也许使用另一种绘图方法)?
我想你需要这样的东西......
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)
Run Code Online (Sandbox Code Playgroud)