Teilen Sie jede Datenrahmenzeile durch den Vektor in R
Ich versuche, jede Zahl innerhalb eines Datenrahmens mit 16 Spalten durch eine bestimmte Zahl für jede Spalte zu teilen. Die Nummern werden als Datenrahmen mit 1-16 gespeichert, die den Abtastwerten in den Spalten 1-16 für größere Datenrahmen entsprechen. Es gibt eine einzelne Zahl pro Spalte, die ich durch jede Zahl in der größeren Tabelle dividieren und die Ausgabe in eine endgültige Tabelle drucken muss.
Hier ist ein Beispiel, womit ich beginne. Die zu teilende Tabelle.
X131.478.1 X131.478.2 X131.NSC.1 X131.NSC.2 X166.478.1 X166.478.2
1/2-SBSRNA4 4 2 2 6 7 6
A1BG 93 73 88 86 58 65
A1BG-AS1 123 103 96 128 46 57
Die Zahlen, durch die die Tabelle geteilt werden soll
X131.478.1 1.0660880
X131.478.2 0.9104053
X131.NSC.1 0.8642545
X131.NSC.2 0.9611866
X166.478.1 0.9711406
X166.478.2 1.0560121
Und die erwarteten Ergebnisse sind nicht unbedingt so gerundet wie hier.
X131.478.1 X131.478.2 X131.NSC.1 X131.NSC.2 X166.478.1 X166.478.2
1/2-SBSRNA4 3.75 2.19 2.31 6.24 7.20 5.68
A1BG 87.23 80.17 101.82 89.47 59.72 61.55
A1BG-AS1 115.37 113.13 111.07 133.16 47.36 53.97
Ich habe einfach versucht, die Datenrahmen mx2 = mx / sf zu teilen, wobei mx der große Datensatz und sf der Datenrahmen der zu teilenden Zahlen ist. Das schien alles durch die erste Zahl im sf-Datensatz zu teilen.
Die Zahlen für die Division wurden von estimateSizeFactors generiert, die Teil des DESeq-Pakets sind, sofern dies hilfreich ist.
Jede Hilfe wäre toll. Vielen Dank!