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!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage