Ich möchte Werte aus verschiedenen Spalten extrahieren, abhängig vom Wert der Spalte x
. Diese Spalte befindet sich in einem Datenrahmen 1 und enthält verschiedene Faktorstufen (z. B. 1, 2, 3, 4, 5, 6). Die Spalten, in denen ich die Werte von in Datenrahmen 2. Beispiele für beide Datenrahmen extrahiert werden soll:Werte von verschiedenen Spalten extrahieren
Datenrahmen 1 istrata
(173 Zeilen) genannt
> istrata[1:5,]
POSCODN Geslacht Agegrp
1 2651 0.4761905 1
2 2651 0.4761905 5
3 2652 0.5785124 1
4 2652 0.5785124 1
5 2661 0.5270758 3
Datenrahmen 2 genannt wird strata
mit (1721 Zeilen) :
> strata[1:5,]
POSCODN Geslacht agegrp_1 agegrp_2 agegrp_3 agegrp_4 agegrp_5 agegrp_6
1 2651 0.4761905 0.34085213 0.10025063 0.13784461 0.27318296 0.13784461 0.010025063
2 2652 0.5785124 0.34710744 0.23966942 0.11570248 0.19008264 0.10743802 0.000000000
3 2661 0.5270758 0.36462094 0.13357401 0.15162455 0.25270758 0.09747292 0.000000000
4 2662 0.6229508 0.39344262 0.26229508 0.11475410 0.21311475 0.01639344 0.000000000
5 2665 0.5387931 0.28448276 0.08189655 0.17241379 0.31465517 0.13362069 0.012931034
So am Ende, dass ich möchte erreichen, wenn in der ersten Reihe von Datenrahmen 1, Agegrp
1 ist, ist es, den Wert des Datenrahmens 2 von Reihe 1 (da ähnliche POSCODN) zuschreibt, Spalte 3 (agegrp_1
). Ein weiteres Beispiel, Reihe 5 in Datenrahmen 1 ist in Agegrp 5
und hat POSCODN
2661. So, hier sollte es in Zeile 3 in Datenrahmen aussieht 2 und Spalte 4 (agegrp_3
) Siehe Datenrahmen Beispiel unten (Zusatz zu istrata
):
Geslacht I_Agegrp
1 0.4761905 0.34085213
2 0.4761905 0.13784461
3 0.5785124 0.34710744
4 0.5785124 0.34710744
5 0.5270758 0.15162455
Gibt es eine Möglichkeit, dies zu tun?
Hilfe wird sehr geschätzt!
Sie können eine 2-dimensionale Matrix als Index verwenden 'df [cbind (seq_along (x), x + 1 l) ] ' –