【发布时间】:2020-02-05 14:32:40
【问题描述】:
我有一个带有表达式值的数据框df,我在数据框Weights 中有权重。
对于df 中的每一列,我想将df 中的每一行与Weights 中具有相似行名的相应行相乘。
然后对于df 中的每一列,您将获得行的加权值。
请查看我的示例输出。
df
Gene MMRF_1021 MMRF_1024 MMRF_1029 MMRF_1030 MMRF_1031
ENSG00000007062 0.05374547 0.01258559 0.0000000 1.2985088 0.37618693
ENSG00000012124 0.13436368 0.27688288 0.2780448 0.7158432 0.03271195
权重
Gene Pre.BI Pre.BII Immature Naive Memory Plasmacell
ENSG00000007062 0.006368928 0.000000e+00 0.000000000 0.0000000000 0.000000000 0.000000000
ENSG00000012124 0.000000000 0.000000e+00 0.000000000 0.0000000000 0.000000000 -0.009728154
出来:
Sample Gene Pre.BI Pre.BI Immature Naive Memory Plasmacell
MMRF_1021 ENSG00000007062 0.000342301 0 0 0 0 0
MMRF_1021 ENSG00000012124 0 0 0 0 0 -0.001307111
MMRF_1024 ENSG00000007062 8.015672e-05 0 0 0 0 0
MMRF_1024 ENSG00000012124 0 0 0 0 0 -0.002693559
.....
输入df:
structure(list(MMRF_1021 = c(0.0537454710193116, 0.134363677548279
), MMRF_1024 = c(0.0125855939107651, 0.276882875966623), MMRF_1029 = c(0,
0.278044754955015), MMRF_1030 = c(1.29850876031527, 0.715843203834688
), MMRF_1031 = c(0.37618693249153, 0.032711952160723)), row.names = c("ENSG00000007062",
"ENSG00000012124"), class = "data.frame")
输入权重:
structure(list(Pre.BI = c(0.006368928, 0), Pre.BII = c(0, 0),
Immature = c(0, 0), Naive = c(0, 0), Memory = c(0, 0), Plasmacell = c(0,
-0.009728154)), row.names = c("ENSG00000007062", "ENSG00000012124"
), class = "data.frame")
【问题讨论】:
-
您能否提供一个使用
dput()的可重现示例? -
添加了 df 和权重的输入
标签: r