【问题标题】:Flexible normalization of entries in a data frame数据帧中条目的灵活规范化
【发布时间】:2020-08-13 09:50:33
【问题描述】:

我正在尝试在创建图表之前操作我的原始数据数据框。我观察到“TMED7_normalized”列中的值,我想对其进行规范化。这些观察值是在“siRNA”栏中所示的不同测试条件下收集的。此外,如“印迹”栏所示,从不同来源收集观察结果。我现在想做的是,在“siCtrol”的条件下,始终通过行中的值来规范化 TMED7_normalized 的值。此外,我想为每组不同的条件执行此操作。例如。它将是:取前三个条目,将它们标准化为第四个。取条目 5-9,在 10 号之前将它们标准化。关于如何以自动化方式执行此操作的任何想法?这是我的数据框:

example_data

 Blot         siRNA           TMED7_normalized
   <chr>        <chr>                      <dbl>
 1 FK01_KW26_02 siRNF5                      2.57
 2 FK01_KW26_02 siRNF170                    2.10
 3 FK01_KW26_02 siRNF5_siRNF185             2.24
 4 FK01_KW26_02 siCtrol                     1.81
 5 FK01_KW27_01 siRNF5                      2.36
 6 FK01_KW27_01 siRNF170                    1.64
 7 FK01_KW27_01 siHrd1                      2.66
 8 FK01_KW27_01 siRNF5_siHrd1               2.09
 9 FK01_KW27_01 siRNF170_siHrd1             2.53
10 FK01_KW27_01 siCtrol                     1.13
# ... with 24 more rows

每一个想法和帮助都将不胜感激。干杯

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    我假设通过规范化,您的意思是将每个测试的 TMED7_normalized 的值除以相应的控件?

    您可以使用dplyr 做到这一点。

    example_data %>% 
      group_by(Blot) %>%
      mutate(TMED7_normalized = TMED7_normalized / TMED7_normalized[siRNA == "siCtrol"])
    # A tibble: 10 x 3
    # Groups:   Blot [2]
       Blot         siRNA           TMED7_normalized
       <chr>        <chr>                      <dbl>
     1 FK01_KW26_02 siRNF5                      1.42
     2 FK01_KW26_02 siRNF170                    1.16
     3 FK01_KW26_02 siRNF5_siRNF185             1.24
     4 FK01_KW26_02 siCtrol                     1   
     5 FK01_KW27_01 siRNF5                      2.09
     6 FK01_KW27_01 siRNF170                    1.45
     7 FK01_KW27_01 siHrd1                      2.35
     8 FK01_KW27_01 siRNF5_siHrd1               1.85
     9 FK01_KW27_01 siRNF170_siHrd1             2.24
    10 FK01_KW27_01 siCtrol                     1  
    

    如果你想做一些不同的操作来规范化,那么适当地编辑我的代码。在yougroup_by(Blot)之后,用mutate()TMED7_normalized表示当前位置,TMED7_normalized[siRNA == "siCtrol"]表示各组的控制值。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 2018-12-12
    • 2018-11-16
    • 2020-05-31
    • 2011-04-02
    • 2021-05-25
    • 2022-01-16
    相关资源
    最近更新 更多