Ich bin hier und im RStudio neu und hoffentlich richtig...
Seit längerem beschäftige ich mich mit dem nachstehenden Problem und habe deshalb beschlossen, hier Hilfe zu Suchen!
Aus Datenschutzgründen habe ich das Bsp etwas umgeformt, ich hoffe verständlich....
In dem Bsp gibt es die Spalten "Merkmal", "Folge" und "Identifikation".
Code: Alles auswählen
#Code:
Merkmal <- c(11,21,"-","-",13,"-",32,12,"-",22)
Folge <- c(1,2,3,4,1,2,3,1,2,3)
#Alphatier (ID mit 11,12,13), Katze (ID mit 21,22) Maus (ID mit 32)
Identifikation <- c("Alphatier","Katze","","","Alphatier","","Maus","Alphatier","","Katze")
Tabelle <- cbind(Merkmal,Folge,Identifikation)
Es gilt jedoch: das Alphatier kann eine Gruppe mit NUR Katzen oder NUR Mäuse anführen, d.h. aus der Spalte "Folge" kann manuell auf das zugehörige Tier geschlossen werden - wir haben hier:
- Zeile 1:4 ist eine Katzengruppe mit 4 Mitgliedern
- Zeile 5:7 ist eine Mausgruppe mit 3 Mitgliedern
- Zeile 8:10 ist eine Katzengruppe mit 3 Mitgliedern.
Code: Alles auswählen
#Lösung: so sollte es aussehen
Loesung <- c("Alphatier","Katze","Katze","Katze","Alphatier","Maus","Maus","Alphatier","Katze","Katze")
Tabelle_Loesung <- cbind(Merkmal,Folge,Identifikation, Loesung)
Für meine weitere Bearbeitung benötige ich in der Spalte "Identifikation" die Lücken mit dem richtigen Tier gefüllt.
In der Theorie wäre ich es so angegangen:
1.prüfen ob Laufvariable i in Spalte "Identifikation" == 0, wenn ja
→1.1 ist i-1 == "katze", dann befülle i == "Katze"
→1.2 ist i-1 == "Maus", dann befülle i == "Maus"
→1.3 ist i+1 == "katze", dann befülle i == "Katze"
→1.4 ist i+1 == "Maus", dann befülle i == "Maus"
2.sonst Zeile leer lassen
... wie kann ich das (mit einer for Schleife???) für eine große Datenbank umsetzen? Ich wäre sehr sehr dankbar über Inputs und Infos!!!!
LG