Обновленный вопрос. Надеюсь, теперь он имеет больше смысла
Мои извинения Да, я знаю, что выполнение цикла for неэффективно, но по сути это всего лишь тест, который мне нуженделать.По сути, мне нужно, чтобы он перебирал ChickWeight на основе диеты, если он равен 1, 2, 3 или 4, его нужно представить на графике, где у каждой диеты есть своя цветная линия.
Что у меня естьдо сих пор, что кажется правильным курсом, но происходит то, что все строки обновляются до конечного цвета:
plot(ChickWeight$Time, ChickWeight$weight, type = "n",
main = "Weight vs Age", xlab = "Time (days)", ylab = "Weight (grames)"
)
dietLength = length(ChickWeight$Diet)
for(i in 1:dietLength){
if(ChickWeight$Diet[i] == 1){
lines(ChickWeight$Time, ChickWeight$weight, col = "black")
} else if(ChickWeight$Diet[i] == 2){
lines(ChickWeight$Time, ChickWeight$weight, col = "blue")
} else if(ChickWeight$Diet[i] == 3){
lines(ChickWeight$Time, ChickWeight$weight, col = "green")
} else if(ChickWeight$Diet[i] == 4){
lines(ChickWeight$Time, ChickWeight$weight, col = "red")
}
}
Так что, если вы запустите приведенный выше код, все строки станут красными,где мне нужно, чтобы он был черным, синим, зеленым, красным (цвета не имеют большого значения, просто предпочтения)