3
Sagen, ich habe Daten in der folgenden Form:Rang Daten mit Subsets
> x <- data.frame(yr = c(1,1,1,1), wk = c(1,1,2,2), id = c("a","b","a","b"), dat1 = c(3,1,10,11), dat2 = c(3,1,10,11), dat3 = c(4,2,12,8))
> x
yr wk id dat1 dat2 dat3
01 01 a 3 3 4
01 01 b 1 1 2
01 02 a 10 10 12
01 02 b 11 11 8
ich einen Datenrahmen von rank
über die Untergruppen yr
und wk
zurückkehren möchten. Gibt es eine Abkürzung dafür?
yr wk id dat1Rnk dat2Rnk dat3Rnk
01 01 a 1 1 1
01 01 b 2 2 2
01 02 a 2 2 1
01 02 b 1 1 2
Basisversion - 'x [cols] <- lapply (x [cols], Funktion (d) ave (-d, x [c ("yr", "wk")], FUN = Rang)) ' – thelatemail
Das ist großartig, danke. Leider wurde mir klar, dass ich eine Schleife machen muss, weil sich einige der Rangordnungen (asc/desc) in den realen Daten von Jahr zu Jahr ändern. Ich kann eine Art Mass-Zeichen-Inversion machen, also kann ich das einfach benutzen. Das ist eine große Hilfe, danke! –
@thelatemail das ist eine nette Alternative. Ich habe mir überlegt, wie man es einfach in der Basis machen kann. –