Wie übergibt na.rm als argument tapply?

Id berechnen, Mittelwerte und sd aus einem dataframe mit einer Spalte für die parameter und eine Spalte für eine Gruppen-id. Wie kann ich berechnen, wenn Sie tapply? Ich könnte sd(v1, group, na.rm=TRUE), kann aber nicht passen, die na.rm=TRUE in der Anweisung bei Verwendung tapply.
omit.na ist keine option. Ich habe eine ganze Reihe von Parametern und haben, um durch Sie gehen Schritt für Schritt, ohne den Verlust der Hälfte des dataframe, wenn ohne alle Zeilen, die mit einem fehlenden Wert.

data("weightgain", package = "HSAUR")
tapply(weightgain$weightgain, list(weightgain$source, weightgain$type), mean)

Das gleiche gilt für die by - Anweisung.

x<-c(1,2,3,4,5,6,7,8,9,NA)
y<-c(2,3,NA,3,4,NA,2,3,NA,2)
group<-rep((factor(LETTERS[1:2])),5)
df<-data.frame(x,y,group)
df

by(df$x,df$group,summary)
by(df$x,df$group,mean)

sd(df$x) #result: NA
sd(df$x, na.rm=TRUE) #result: 2.738613

Irgendwelche Ideen, wie dieses zu erhalten getan?

  • Ziemlich viel! Kann ich mich bewerben, dass mehrere comlumns der Tabelle, oder muss ich eine Schleife durch einen parameter-Liste? tapply(df[c("x","y")], df$group, sd, na.rm=TRUE) oder so???
  • Die Frage ist nicht, Sinn zu machen. Mit help(tapply) Sie sollten sehen, dass es eine ... argument, das beschrieben wird als mit dem Versprechen, dass die benannten Elemente übergeben werden, um die SPAß-Funktion. Welchen Fehler hast du bekommen, wenn du mit dem code: tapply(df$V1, df$group, sd, na.rm=TRUE)
InformationsquelleAutor Doc | 2013-01-05
Schreibe einen Kommentar