Я создал цикл for для построения 38 строк (которые являются строками моей матрицы results.summary.evap и соответствуют 38 общим выборкам). Я хотел бы сделать эти линии разными цветами, основываясь на характеристике каждого образца: возраст. Я могу получить доступ к возрасту в моей матрице ввода: surp.data $ Age_ka.
Однако матрица, над которой я зацикливаюсь (results.summary.evap), не имеет возраста выборки или имени выборки, хотя каждая выборка должна быть расположена в одних и тех же строках как для surp.data, так и results.summary.evap.
Вот цикл for, который я создал для построения 38 линий, по одной на каждый образец. В этом случае, результаты ..summary.evap - это то, от чего я строю графики, и эта матрица получена из информации во входном файле surp.data.
par(mfrow=c(3,1))
par(mar=c(3, 4, 2, 0.5))
plot(NA,NA,xlim=c(0,10),ylim=c(0,2500), ylab = "Evaporation (mm/yr)", xlab = "Relative Humidity")
for(i in 1:range){
lines(rh.sens,results.summary.evap[i,])
}
```
I'd like to plot lines in different colors based on the age associated with each sample. I tried to incorporate an if/else statement into the loop, that would plot in a different color if the corresponding sample age was greater that 20 in the input file.
```
for(i in 1:range){
if surp.data$Age_ka[i]>20 {
lines(rh.sens,results.summary.evap[i,], col = 'red')
} else {
lines(rh.sens,results.summary.evap[i,], col = 'black')
}
}
Этот цикл for не будет работать (из-за проблем с круглыми скобками). Я не уверен, что то, что я делаю, если в корне неправильно, или я просто где-то пропустил скобки. Я также не уверен, как сделать это немного более надежным; например, используя 6-8 различных цветов в зависимости от возраста, а не только два.
Спасибо!