ich erstelle mir eine Tabelle in der die jährlichen Verhältnisse von gestuften Messwerten eingetragen sind. Die Messwerte sind in 5 Stufen von 0 bis 4 unterteilt.
Folgender Code erstellt mir die Tabelle aus einer Ursprungstabelle
Code: Alles auswählen
Eingabe<-file.choose()
Quercus<-read.csv(Eingabe, header = TRUE, sep = ";")
daten<-subset(Quercus, select=c())
z<-c(0,1,2,3,4)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2020"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2020"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2019"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2019"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2018"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2018"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2017"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2017"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2016"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2016"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2015"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2015"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2014"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2014"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2013"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2013"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2012"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2012"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2011"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2011"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2010"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2010"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2009"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2009"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2008"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2008"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2007"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2007"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2006"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2006"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2005"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2005"])
z<-rbind(z,y)
y<-100*table(as.matrix(Quercus$Vitalitaet[Quercus$Jahr=="2004"]))/length(Quercus$Vitalitaet[Quercus$Jahr=="2004"])
z<-rbind(z,y)
z<-z[2:18, 1:5]
Mein Problem ist jetzt folgendes:
Sind nicht alle Stufen in der Ursprungstabelle enthalten, wird das Verhältnis des ersten vorkommenden Messwertes unter '0' gespeichert. Kommen nur zwei Stufen vor werden diese unter den ersten beiden Stufen der Tabelle, '0' und '1' gespeichert und bis zur letzten im wechsel eingetragen. Dies verfälscht am Ende mein Ergebnis.
Wie kann ich in meinem Code ergänzen, dass wenn im Urprung keine Stufe '0' dabei ist, das Verhältniss unter '0' ebenfallls gleich 0 ist?
Vielen Dank vorab
Jens