数据框中的值之间的划分

division between values in dataframes

我有两个数据框(csv 表),每个数据框都有相同的行数(30,000 行)和 50 列。我想通过将行名称作为通用名称,在所有单元格列中将 df1 除以 df2

例如:

df1

rs sample1 sample1 sample2 sample3 .... sample50

tp1  3        5         7      17       25
tp10  10      25        47     37       45
tp25  110     125       147     370     145

df2

rs sample1 sample1 sample2 sample3 .... sample50

tp1  30        25         7      170      125
tp10  40      125        147     327      145
tp25  210     425       170     570     1457

我想使用 R 中常见的 rs 来计算这些数据帧之间的每个单元格值。我尝试了以下操作:

df3 <- df1$sample1 / df2$sample2[ match( df1$rs , df2$rs ) ]

但它打印出没有行名称的值。

我的问题是,如何打印保留行名称的所有列的值?

按照 Gregor 的建议划分: df3=df1/df2。第一列将全部变为 NA,因为它是您的 df 中的一个因素。要更正它,只需从 df1 复制第一列。 df3$rs<-df1$rs