【问题标题】:calculation on columns of data frame 1 with rows of data frame 2使用数据框 2 的行计算数据框 1 的列
【发布时间】:2023-02-16 22:24:59
【问题描述】:

请原谅 Excel 屏幕截图以进行澄清。 我有两个大数据框。我在这里展示子集。

df1

V2          V3          V4          V5          V6          V7          V8          V9         V10         V11         V12
bam1 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
bam2 0.000139861 0.000136678 0.000133567 0.000130527 0.000127556 0.000124653 0.000121816 0.000119044 0.000116334 0.000113686 0.000111099
bam3 0.000419466 0.000409921 0.000400594 0.000391479 0.000382571 0.000373866 0.000365359 0.000357046 0.000348921 0.000340981 0.000333222
bam4 0.001257343 0.001228757 0.001200821 0.001173519 0.001146837 0.001120761 0.001095277 0.001070372 0.001046033 0.001022247 0.000999001
bam5 0.003762566 0.003677234 0.003593831 0.003512313 0.003432637 0.003354763 0.003278650 0.003204258 0.003131548 0.003060484 0.002991027
bam6 0.011203391 0.010951163 0.010704553 0.010463437 0.010227696 0.009997213 0.009771872 0.009551562 0.009336171 0.009125594 0.008919722

df2

Chromosome     Start       End Strand bam1         bam2        bam3       bam4      bam5      bam6 bam7
1       chr2 165810215 165813098      -    0 -0.001051117 0.025490528 0.05027302 0.1000712 0.2903017    1
2       chr2 152142874 152145506      -    0  0.007106102 0.013989720 0.03850910 0.1437329 0.2734750    1
3      chr10   4265251   4268452      -    0 -0.001682993 0.012713354 0.04252942 0.1293642 0.3190712    1
4      chr15  97054158  97056002      -    0  0.005654123 0.009292766 0.03417544 0.1259098 0.2909780    1
5       chr2  71346883  71349242      -    0  0.010721133 0.015951542 0.05872784 0.1483612 0.4058003    1

我想对 DF1 列和 DF2 行进行计算。请看屏幕截图。颜色代表 df1$column 对 df2$row 的计算和所需的输出

我想做以下计算(excel公式)

orange: =((B$2-E12)^2+(B$3-F12)^2+(B$4-G12)^2+(B$5-H12)^2+(B$6-I12)^2+(B$7-J12)^2+(B$8-K12)^2)/COUNT(E$12:K$12)

blue: =((C$2-E13)^2+(C$3-F13)^2+(C$4-G13)^2+(C$5-H13)^2+(C$6-I13)^2+(C$7-J13)^2+(C$8-K13)^2)/COUNT(E$13:K$13)

提前致谢。

【问题讨论】:

    标签: r dataframe dplyr


    【解决方案1】:

    您可以转置其中一个数据框(之后您可以对列进行简单计算):

    df2_transpose <- t(df2)

    或者你提取你喜欢的向量 (根据您的需要更改运营商和选择)

    df1$V3 + df2[1, 5:11]

    【讨论】:

      猜你喜欢
      • 2017-08-11
      • 2018-05-18
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-20
      • 2018-02-01
      • 2022-11-14
      相关资源
      最近更新 更多