繁体   English   中英

如何在R中计算每天的增长率

[英]How to calculate growth rates per day in R

我仍然是R的新手,并且有以下数据框,其中包含我在现场测量的贻贝数据。 我想获得每个locID每天的locID (我有A1A2A3A4B1B2B3B4C1C2C3C4D1D2D3D4所以一个循环一个函数是理想的,但我现在只包括C1 )分别用于 10 毫米贻贝和 15 毫米贻贝以及每个深度。 因此,从第一个样本中获得每天的增长率将是从9,92 ( 03-07-2017 3 1 C1 0,5 10 blue ) 减去长度11,08 ( 08-08-2017 39 1 C1 0,5 10 blue ) ) 并将其除以39 ( 08-08-2017 39 1 C1 0,5 10 blue 11,08 ) - 3 ( 03-07-2017 3 1 C1 0,5 10 blue 9,92 ) 谁能给我任何关于如何尝试在R找到一种计算方法的提示? 我知道我问了很多,我希望有人愿意花时间提供帮助!

先感谢您!

date    n=  session locID   depth   org_length  replica     length
03-07-2017  3   1   C1  0,5 10  blue        9,92    
03-07-2017  3   1   C1  2,5 10  blue        10,33   
03-07-2017  3   1   C1  4,5 10  blue        9,78    
03-07-2017  3   1   C1  6,5 10  blue        10,45   
03-07-2017  3   1   C1  0,5 10  green       9,89    
03-07-2017  3   1   C1  2,5 10  green       10,32   
03-07-2017  3   1   C1  4,5 10  green       9,86    
03-07-2017  3   1   C1  6,5 10  green       10,28   
03-07-2017  3   1   C1  0,5 10  purple      10,36   
03-07-2017  3   1   C1  4,5 10  purple      10,35   
03-07-2017  3   1   C1  6,5 10  purple      10,47   
03-07-2017  3   1   C1  0,5 10  red     10,48   
03-07-2017  3   1   C1  2,5 10  red     9,64    
03-07-2017  3   1   C1  4,5 10  red     10,08   
03-07-2017  3   1   C1  6,5 10  red     10,37   
03-07-2017  3   1   C1  0,5 15  blue        15,51   
03-07-2017  3   1   C1  2,5 15  blue        14,84   
03-07-2017  3   1   C1  4,5 15  blue        15,53   
03-07-2017  3   1   C1  6,5 15  blue        14,54   
03-07-2017  3   1   C1  0,5 15  green       14,89   
03-07-2017  3   1   C1  2,5 15  green       15,29   
03-07-2017  3   1   C1  4,5 15  green       14,97   
03-07-2017  3   1   C1  6,5 15  green       14,77   
03-07-2017  3   1   C1  0,5 15  purple      15,04   
03-07-2017  3   1   C1  4,5 15  purple      15,17   
03-07-2017  3   1   C1  6,5 15  purple      15,33   
03-07-2017  3   1   C1  0,5 15  red     14,86   
03-07-2017  3   1   C1  2,5 15  red     15,27   
03-07-2017  3   1   C1  4,5 15  red     14,55   
03-07-2017  3   1   C1  6,5 15  red     15,12   
13-07-2017  13  1   C1  2,5 10  purple      10,52   
13-07-2017  13  1   C1  2,5 15  purple      15,62   
08-08-2017  39  1   C1  0,5 10  blue        11,08   
08-08-2017  39  1   C1  2,5 10  blue        12,95   
08-08-2017  39  1   C1  4,5 10  blue        10,67   
08-08-2017  39  1   C1  6,5 10  blue        10,38   
08-08-2017  39  1   C1  0,5 10  green       10,91   
08-08-2017  39  1   C1  2,5 10  green       12,56   
08-08-2017  39  1   C1  4,5 10  green       10,81   
08-08-2017  39  1   C1  6,5 10  green       10,69   
08-08-2017  39  1   C1  0,5 10  purple      11,25   
08-08-2017  39  1   C1  2,5 10  purple      10,83   
08-08-2017  39  1   C1  4,5 10  purple      10,37   
08-08-2017  39  1   C1  6,5 10  purple      10,5    
08-08-2017  39  1   C1  0,5 10  red     10,45   
08-08-2017  39  1   C1  2,5 10  red     11,39   
08-08-2017  39  1   C1  4,5 10  red     12,02   
08-08-2017  39  1   C1  6,5 10  red     10,32   
08-08-2017  39  1   C1  0,5 15  blue        15,95   
08-08-2017  39  1   C1  2,5 15  blue        15,75   
08-08-2017  39  1   C1  4,5 15  blue        15,48   
08-08-2017  39  1   C1  6,5 15  blue        14,8    
08-08-2017  39  1   C1  0,5 15  green       16,37   
08-08-2017  39  1   C1  2,5 15  green       16,66   
08-08-2017  39  1   C1  4,5 15  green       15,37   
08-08-2017  39  1   C1  6,5 15  green       14,67   
08-08-2017  39  1   C1  0,5 15  purple      14,96   
08-08-2017  39  1   C1  2,5 15  purple      15,49   
08-08-2017  39  1   C1  4,5 15  purple      15,15   
08-08-2017  39  1   C1  6,5 15  purple      15,67   
08-08-2017  39  1   C1  0,5 15  red     16,21   
08-08-2017  39  1   C1  2,5 15  red     15,19   
08-08-2017  39  1   C1  4,5 15  red     15,14   
08-08-2017  39  1   C1  6,5 15  red     15,54   
05-09-2017  67  1   C1  0,5 15  blue        15,94   
05-09-2017  67  1   C1  2,5 15  blue        15,68   
05-09-2017  67  1   C1  4,5 15  blue        15,48   
05-09-2017  67  1   C1  6,5 15  blue        14,5    
05-09-2017  67  1   C1  0,5 15  green       16,33   
05-09-2017  67  1   C1  2,5 15  green       16,7    
05-09-2017  67  1   C1  4,5 15  green       15,33   
05-09-2017  67  1   C1  6,5 15  green       14,62   
05-09-2017  67  1   C1  0,5 15  purple      14,96   
05-09-2017  67  1   C1  2,5 15  purple      15,58   
05-09-2017  67  1   C1  4,5 15  purple      15,17   
05-09-2017  67  1   C1  6,5 15  purple      15,64   
05-09-2017  67  1   C1  0,5 15  red     16,17   
05-09-2017  67  1   C1  2,5 15  red     15,17   
05-09-2017  67  1   C1  4,5 15  red     15,1    
05-09-2017  67  1   C1  6,5 15  red     15,57   
05-09-2017  67  1   C1  0,5 10  blue        11,08   
05-09-2017  67  1   C1  2,5 10  blue        12,95   
05-09-2017  67  1   C1  4,5 10  blue        11,15   
05-09-2017  67  1   C1  6,5 10  blue        10,47   
05-09-2017  67  1   C1  0,5 10  green       10,91   
05-09-2017  67  1   C1  2,5 10  green       12,52   
05-09-2017  67  1   C1  4,5 10  green       10,88   
05-09-2017  67  1   C1  6,5 10  green       10,7    
05-09-2017  67  1   C1  0,5 10  purple      11,3    
05-09-2017  67  1   C1  2,5 10  purple      10,93   
05-09-2017  67  1   C1  4,5 10  purple      10,35   
05-09-2017  67  1   C1  6,5 10  purple      10,51   
05-09-2017  67  1   C1  0,5 10  red     10,45   
05-09-2017  67  1   C1  2,5 10  red     11,37   
05-09-2017  67  1   C1  4,5 10  red     12,03   
05-09-2017  67  1   C1  6,5 10  red     10,2    
29-09-2017  91  1   C1  0,5 15  blue        15,95   
29-09-2017  91  1   C1  2,5 15  blue        15,64   
29-09-2017  91  1   C1  4,5 15  blue        15,47   
29-09-2017  91  1   C1  6,5 15  blue        14,55   
29-09-2017  91  1   C1  0,5 15  green       16,37   
29-09-2017  91  1   C1  2,5 15  green       16,72   
29-09-2017  91  1   C1  4,5 15  green       15,33   
29-09-2017  91  1   C1  6,5 15  green       14,61   
29-09-2017  91  1   C1  0,5 15  purple      14,81   
29-09-2017  91  1   C1  2,5 15  purple      15,54   
29-09-2017  91  1   C1  4,5 15  purple      15,3    
29-09-2017  91  1   C1  6,5 15  purple      15,65   
29-09-2017  91  1   C1  0,5 15  red     16,19   
29-09-2017  91  1   C1  2,5 15  red     15,14   
29-09-2017  91  1   C1  4,5 15  red     15,07   
29-09-2017  91  1   C1  6,5 15  red     15,51   
29-09-2017  91  1   C1  0,5 10  blue        11,2    
29-09-2017  91  1   C1  2,5 10  blue        12,92   
29-09-2017  91  1   C1  4,5 10  blue        11,51   
29-09-2017  91  1   C1  6,5 10  blue        10,43   
29-09-2017  91  1   C1  0,5 10  green       10,89   
29-09-2017  91  1   C1  2,5 10  green       12,5    
29-09-2017  91  1   C1  4,5 10  green       10,67   
29-09-2017  91  1   C1  6,5 10  green       10,85   
29-09-2017  91  1   C1  0,5 10  purple      11,28   
29-09-2017  91  1   C1  2,5 10  purple      11,14   
29-09-2017  91  1   C1  4,5 10  purple      10,95   
29-09-2017  91  1   C1  6,5 10  purple      10,61   
29-09-2017  91  1   C1  0,5 10  red     10,44   
29-09-2017  91  1   C1  2,5 10  red     11,96   
29-09-2017  91  1   C1  4,5 10  red     12,67   
29-09-2017  91  1   C1  6,5 10  red     10,18   

这是你追求的吗?

# sort the data (important)
df <- df[order(df$locID, df$depth, df$org_length, df$replica, df$n.), ]

# calculate rates
rates <- by(df, list(df$locID, df$depth, df$org_length, df$replica), function(x) {
  c(NA, diff(x$length)/diff(x$n.))})
rate_overall <- by(df, list(df$locID, df$depth, df$org_length, df$replica), function(x) {
  rep(diff(x$length[c(1, length(x$length))])/diff(x$n.[c(1, length(x$n.))]), nrow(x))})

# add rates to data
df$growth_rate <- unlist(rates)
df$overall_growth_rate <- unlist(rate_overall)

你得到

> head(df)
          date n. session locID depth org_length replica length growth_rate overall_growth_rate
1   03-07-2017  3       1    C1   0.5         10    blue   9.92         NA        0.0145454545
33  08-08-2017 39       1    C1   0.5         10    blue  11.08 0.03222222        0.0145454545
81  05-09-2017 67       1    C1   0.5         10    blue  11.08 0.00000000        0.0145454545
113 29-09-2017 91       1    C1   0.5         10    blue  11.20 0.00500000        0.0145454545
5   03-07-2017  3       1    C1   0.5         10   green   9.89         NA        0.0294318182
37  08-08-2017 39       1    C1   0.5         10   green  10.91 0.07277778        0.0294318182

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM