j'ai un deux données de niveau (niveau de l'hôpital et au niveau de la région), chaque hôpital a un joint unique: e:générer q1/q3 comme variables selon le groupe de R
hospid zipid o:e
1 1 0.8
2 1 0.5
3 1 0.4
4 2 0.9
5 2 1.2
6 2 1.5
Je veux générer les 25% quantiles et 75% quantiles de o: e par zipid, de sorte que la sortie serait comme ceci:
hospid zipid o:e q1 q3
1 1 0.8 0.9 1.05
2 1 0.5 0.9 1.05
3 1 0.4 0.9 1.05
4 2 0.9 1.0 1.10
5 2 1.2 1.0 1.10
6 2 1.5 1.0 1.10
J'ai trouvé un code R qui peut montrer les quantiles exacts, mais ne savez pas comment extraire ces valeurs et générer de nouvelles variables basées sur ces valeurs.
do.call("rbind", tapply(data$oe, data$zipid, quantile))
0% 25% 50% 75% 100%
region1 0.93 0.99 1.02 1.04 1.11
region2 0.54 0.92 1.02 1.07 1.16
Une suggestion? Merci!
Je pense qu'il est préférable d'avoir 'df [c ("q1", "q3")] <- lapply (c (2, 4), fonction (i) avec (df, ave (oe, zipid, FUN = fonction (x) quantile (x) [i]))) 'dans votre réponse. Je vais supprimer cette partie – akrun