93608


Rでの解析において、条件A、条件Bの数値を元に、条件Cを除するプログラムを書きたいのですが、うまくいきません。

（例）

[code]

    Sample = c("A", "A", "A", "B", "B", "B")
    Day = c(0, 1, 2, 0, 1, 2)
    Value = c(100, 150, 200, 1000, 1050, 1100)
    testDF = data.frame(Sample, Day, Value)
    testDF
    
[/code]

上記のようなデータフレームで、Sample A、BのValueの値をそれぞれのDay 0での値で除し、Norm_valueの列を新たに得たいと思っています。  
※Norm_value = c(1, 1.5, 2, 1, 1.05, 1.1）という列を得られればOK

Mutate関数、ifelseを使って、と考えたのですが、2条件の分岐がうまくいかず、ノウハウをご教示頂けるとありがたいです。どなたか、どうか宜しくお願い致します。


CC BY-SA 4.0
2023-01-29T13:26:31.243
93607
2023-01-30T01:43:10.567
2023-01-30T01:43:10.567
3060
56816
question
r tidyverse
条件A、条件Bの数値を元に条件Cを除したい

[code]

    > library(tidyverse)
    > testDF %>% group_by(Sample) %>% mutate(Norm_value = Value / Value[Day==0])
    
    # A tibble: 6 × 4
    # Groups:   Sample [2]
      Sample   Day Value Norm_value
      <chr>  <dbl> <dbl>      <dbl>
    1 A          0   100       1   
    2 A          1   150       1.5 
    3 A          2   200       2   
    4 B          0  1000       1   
    5 B          1  1050       1.05
    6 B          2  1100       1.1 
    
[/code]


CC BY-SA 4.0
2023-01-29T13:38:13.167
93608
2023-01-29T13:38:13.167
47127
93607
answer