I einen Datenrahmen (DF) haben, die wie folgt aussieht:R: eine Funktion zur Datenrahmen Spalten Anwenden in einer anderen Tabelle definiert
A B C D E F G H
a 1 2 3 4 5 3 4 2
b 3 4 5 5 4 5 5 4
c 1 4 6 7 9 6 7 4
d 2 4 5 7 8 5 7 4
e 2 2 4 5 7 4 5 2
Ich mag würde das Verhältnis der verschiedenen Spalten berechnen, basierend auf einem Tisch wie diese, die angibt, welche Spalte der Zähler und der Nenner sein muss:
beispielnum denom
A E
B G
F C
H D
So wird die erste Spalte in der Ausgangsspalte A von Spalte E.
die outpu unterteilt sein t würde wie folgt aussehen (ich die Spaltennamen der Zähler behalten wollen):
A B F H
a 0.2 0.5 1 0.5
b 0.75 0.8 1 0.8
c 0.111111111 0.571428571 1 0.571428571
d 0.25 0.571428571 1 0.571428571
e 0.285714286 0.4 1 0.4
Ich hoffe, ich mache dies verständlich, hier ist die dput der ursprünglichen Tabelle:
structure(list(A = c(1L, 3L, 1L, 2L, 2L), B = c(2L, 4L, 4L, 4L,
2L), C = c(3L, 5L, 6L, 5L, 4L), D = c(4L, 5L, 7L, 7L, 5L), E = c(5L,
4L, 9L, 8L, 7L), F = c(3L, 5L, 6L, 5L, 4L), G = c(4L, 5L, 7L,
7L, 5L), H = c(2L, 4L, 4L, 4L, 2L)), .Names = c("A", "B", "C",
"D", "E", "F", "G", "H"), class = "data.frame", row.names = c("a",
"b", "c", "d", "e"))
Alle Hilfe wird sehr geschätzt! Hier Dank
Nur 'df [c ("A",„B "," F "," H ")]/df [, c (" E "," G "," C "," D ")]. – 989