2016-04-20 10 views
0

Hoffe, dass jemand damit helfen kann, es scheint so eine einfache Sache zu sein, aber relativ neu zu sein Ich ringe damit.R Wie man mehrere Liniendiagramme auf der Basis einer numerischen Variablen plottet

Ich habe sechzig Bäume aufgeteilt zwischen zwei Plots ("N Edge" und "S Edge"). Jeder Baum ist mit einer RecordNo gekennzeichnet, die von 1 bis 30 variiert. Ich teste jeden Baum regelmäßig.

Ich möchte für jeden Baum ein Liniendiagramm zeichnen. Ich kann ein Diagramm mit der Linie erstellen:

plot(Date[Plot=="N Edge" & RecordNo==1 ], CO2flux[Plot=="N Edge" & RecordNo==1],main="RecordNo=1",type="l") 

Aber wenn ich versuche, eine Schleife zu erzeugen, alle dreißig plotten:

for(i in 1:30)plot(Date[Plot=="N Edge" & RecordNo==i], CO2flux[Plot=="N Edge" & RecordNo==i],main=paste("RecordNo= " & i,type="l")) 

ich eine Fehlermeldung:

„Fehler in "RecordNo =" & i: Operationen sind nur für numerische, logische oder komplexe Typen möglich "

Kann mir bitte jemand erklären, wo ich falsch liege und wie ich die dreißig Diagramme erstellen kann, die ich brauche?

Schließlich möchte ich die Gleichungen zu finden, die jede Zeile in Form beschreiben y=a+bx+cx^2+dx^3 und finden Sie Werte für a, b, c und d für jeden Baum.

Dank

Carl

+0

So scheint es, dass meine Syntax nicht ganz richtig war. Dies funktioniert OK: für (i in 1:30) { plot (Datum [Plot == "N Kante" & RecordNo == i], CO2flux [Plot == "N Kante" & RecordNo == i], Haupt = paste ("RecordNo =", i), type = "l") } –

+0

Sparake: Ist 'Date' im ersten Argument des Plots gesetzt, zB' Date [Plot == "N Edge" & RecordNo == 1] '? oder du meinst 'Data' –

Antwort

0

So scheint es, dass meine Syntax nicht ganz richtig war. Dies funktioniert OK: für (i in 1:30) { plot (Datum [Plot == "N Kante" & RecordNo == i], CO2flux [Plot == "N Kante" & RecordNo == i], Haupt = einfügen ("RecordNo =", i), type = "l") }

+0

Nun, um die Formel für jede Zeile zu finden –

Verwandte Themen