[英]How to calculate 5 years average growth rates of a group of variables in a panel dataset in R
[英]How to calculate growth rates per day in R
我仍然是R
的新手,並且有以下數據框,其中包含我在現場測量的貽貝數據。 我想獲得每個locID
每天的locID
(我有A1
、 A2
、 A3
、 A4
、 B1
、 B2
、 B3
、 B4
、 C1
、 C2
、 C3
、 C4
、 D1
、 D2
、 D3
和D4
所以一個循環一個函數是理想的,但我現在只包括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.