Ich hoffe, jemand kann mir helfen zu verstehen, warum die mapply
Funktion verhält sich anders, wenn Sie die sum
Funktion aufrufen und wenn Sie die mean
Funktion aufrufen.Warum verhält sich mapply() abhängig von der aufgerufenen Funktion?
Meine Frage besser ist wahrscheinlich durch Betrachten dieses MWE (teilweise entlehnt https://nsaunders.wordpress.com/2010/08/20/a-brief-introduction-to-apply-in-r/) erklärt
l1 <- list(a = c(1:10), b = c(11:20))
l2 <- list(c = c(21:30), d = c(31:40))
mapply(sum, l1$a, l1$b, l2$c, l2$d)
[1] 64 68 72 76 80 84 88 92 96 100
Der obige Code 10 Werte zurückgibt, die Summe der entsprechenden Elemente in jeweils a, b, c-Objekt und d.
Das folgende Beispiel nicht funktioniert auf die gleiche Weise:
mapply(mean, l1$a, l1$b, l2$c, l2$d)
[1] 1 2 3 4 5 6 7 8 9 10
Im letzteren Beispiel es wie b, c und d scheint ignoriert werden und es ist nur der Mittelwert von jedem Element einer Berechnung.
Wenn jemand mir helfen könnte, dies zu verstehen, wäre das großartig.
Vielen Dank!
Dies hat wenig mit 'Mapply' zu tun. Siehe "? Sum" und "? Mean": Sie haben einen anderen Mechanismus im Umgang mit ihren Argumenten. Was denken Sie, dass 'sum (1,2,3)' zurückkehren wird? Und was ist mit 'mean (1,2,3)'? – nicola
Danke Nicola, der Penny ist jetzt endlich gefallen. –