我有两个数据帧(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 ) ]
但它打印出没有行名的值。
我的问题是,如何为保留行名称的所有列打印值?
答案 0 :(得分:0)
按照Gregor的建议划分:
df3=df1/df2
。第一列将成为全部NA,因为它是你的df中的因子。要更正它,只需从df1复制第一列。 df3$rs<-df1$rs