正如标题所说,即使没有可用值,我也希望看到带坐标系和轴的空图。
到目前为止,我遇到了那些不包含值的smoothScatter函数的错误。
a1 <- subset(a, datasource == 1)
a2 <- subset(a, datasource == 2)
a3 <- subset(a, datasource == 3)
a4 <- subset(a, datasource == 4)
a5 <- subset(a, datasource == 5)
a6 <- subset(a, datasource == 6)
a7 <- subset(a, datasource == 7)
par(mfrow=c(3,3))
smoothScatter(a$profiledepth, a$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
smoothScatter(a1$profiledepth, a1$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
smoothScatter(a2$profiledepth, a2$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
smoothScatter(a3$profiledepth, a3$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
smoothScatter(a4$profiledepth, a4$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
smoothScatter(a5$profiledepth, a5$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
smoothScatter(a6$profiledepth, a6$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
smoothScatter(a7$profiledepth, a7$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
任何想法如何解决?
答案 0 :(得分:2)
您可以查看以下代码。它很大。你可以使用循环来减少它。
a1 <- subset(a, datasource == 1)
a2 <- subset(a, datasource == 2)
a3 <- subset(a, datasource == 3)
a4 <- subset(a, datasource == 4)
a5 <- subset(a, datasource == 5)
a6 <- subset(a, datasource == 6)
a7 <- subset(a, datasource == 7)
par(mfrow=c(3,3))
if(length(a)!=0){
smoothScatter(a$profiledepth, a$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
} else {
plot(x=1:52,y=1:52,type="n",ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
}
if(length(a1)!=0){
smoothScatter(a1$profiledepth, a1$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
} else {
plot(x=1:52,y=1:52,type="n",ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
}
if(length(a2)!=0){
smoothScatter(a2$profiledepth, a2$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
} else {
plot(x=1:52,y=1:52,type="n",ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
}
if(length(a3)!=0){
smoothScatter(a3$profiledepth, a3$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
} else {
plot(x=1:52,y=1:52,type="n",ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
}
if(length(a4)!=0){
smoothScatter(a4$profiledepth, a4$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
} else {
plot(x=1:52,y=1:52,type="n",ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
}
if(length(a5)!=0){
smoothScatter(a5$profiledepth, a5$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
} else {
plot(x=1:52,y=1:52,type="n",ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
}
if(length(a6)!=0){
smoothScatter(a6$profiledepth, a6$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
} else {
plot(x=1:52,y=1:52,type="n",ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
}
if(length(a7)!=0){
smoothScatter(a7$profiledepth, a4$horizondepth_lower, nbin=256, nrpoints=0, ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
} else {
plot(x=1:52,y=1:52,type="n",ylim=c(0,520), xlim=c(0,520), main='Alle', ylab='Tiefe der Horizontuntergrenze / cm', xlab='Profiltiefe / cm')
}