Für eine Probe Datenrahmen ist:Spalte hinzufügen Detaillierung aus, die Jahresdaten
df <- structure(list(region = structure(1:8, .Label = c("a", "b", "c",
"d", "e", "f", "g", "h"), class = "factor"), y.2012 = c(5.5,
NA, 4.7, 3.6, NA, NA, 4.6, NA), y.2013 = c(5.7, NA, NA, 3.8,
NA, 6.2, NA, NA), y.2014 = c(NA, 6.3, NA, 4.1, 5.1, NA, NA, NA
)), .Names = c("region", "y.2012", "y.2013", "y.2014"), class = "data.frame", row.names = c(NA,
-8L))
Ich möchte eine zusätzliche Spalte hinzufügen, die den Wert der letzten Spalte aufzeichnet. Ich habe dies bisher (from this question):
df$variable <- apply(df[-1], 1, function(x) {
i1 <- tail(x[!is.na(x)],1)
if(length(i1)>0) i1 else NA})
df$variable
Darüber hinaus habe ich (als eine andere Spalte) hinzufügen möchten, das Jahr der ‚variable‘ Daten aus ist.
Kann mir jemand dabei helfen?
Nun, hinzufügen, um Ihre Funktion, wenn Sie 'Namen hinzufügen (Wenn (Länge (i1 ...)))), erhalten Sie eine Liste mit den Spaltennamen, aus denen jeder Wert stammt. – Sotos
Sie sollten auf jeden Fall versuchen, Ihre Daten von Weitem zu Lang umzuformen, wobei Sie zuerst eine Aufzeichnung pro Region x Jahr gültige Beobachtung haben –