Ich bin ein unerfahrener Benutzer von R und ich muss ziemlich komplizierte Sachen erstellen. Mein-Datensatz sieht wie folgt aus:Erstellen Sie einen Zähler in einer for-Schleife in R
a, b, c, d, e verschiedene Individuen sind. Ich möchte die D-Spalte wie folgt vervollständigen: An der letzten Zeile für jedes Individuum in der Spalte A, D = Summe (C)/(B-1).
Erwartete Ergebnisse aussehen sollte:
D4 = Summe (C2: C4)/(B4-1) = 0,5
D6 = Summe (C5: C6)/(B6 -1) = 1 usw.
ich es mit so etwas wie zu umgehen versucht:
for(i in 2:NROW(dataset)){
dataset[i,4]<-ifelse(
(dataset[i,1]==data1[i-1,1]),sum(dataset[i,3])/(dataset[i,2]-1),NA
)
}
Aber ich t ist offensichtlich nicht ausreichend, da es den D-Wert für alle Zeilen berechnet und nicht nur den letzten für jedes Individuum, und es berechnet nicht die Summe der C-Werte für dieses Individuum.
Und ich weiß wirklich nicht, wie ich es herausfinden soll. Habt ihr einen Ratschlag? Vielen Dank.
Willkommen bei SO. Bitte [werfen Sie einen Blick auf diesen Link] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – Sotos
Sie haben uns nicht genug Informationen zur Verfügung gestellt, hier ist der erste Datenrahmen df <- Datenrahmen (A = c ("a", "a", "a", "b", "b", "c", "c", "c", "d "," e "," e "), B = c (3,3,3,2,2,3,3,3,1,2,2), C = c (NA, 1,0, NA, 1, NA, 0,1, NA, NA, 0)) ändern Sie Ihre Frage, um uns zu sagen, wie der zweite aussieht? – user1945827