Nach Faktorstufen aggregieren, wobei andere Variablen im resultierenden Datenrahmen erhalten bleiben
Ich versuche, die Mindestwerte einer numerischen Spalte für jede Ebene eines Faktors zu berechnen, während die Werte eines anderen Faktors im resultierenden Datenrahmen beibehalten werden.
# dummy data
dat <- data.frame(
code = c("HH11", "HH45", "JL03", "JL03", "JL03", "HH11"),
index = c("023434", "3377477", "3388595", "3377477", "1177777", "023434"),
value = c(24.1, 37.2, 78.9, 45.9, 20.0, 34.6)
)
Das gewünschte Ergebnis ist das Minimum vonvalue
für jedes Level voncode
, haltenindex
im resultierenden Datenrahmen.
# result I want:
# code value index
# 1 HH11 24.1 023434
# 2 HH45 37.2 3377477
# 3 JL03 20.0 1177777
# ddply attempt
library(plyr)
ddply(dat, ~ code, summarise, val = min(value))
# code val
# 1 HH11 24.1
# 2 HH45 37.2
# 3 JL03 20.0
# base R attempt
aggregate(value ~ code, dat, min)
# code value
# 1 HH11 24.1
# 2 HH45 37.2
# 3 JL03 20.0