1
之間差使用這種data.framedplyr:特定行
DATA
df <- read.table(text = c("
id measured simulated
Site1 9.10 9.20
Site2 126.00 129.02
Site3 1.00 1.15
Site4 84.50 85.77
Site5 115.60 119.30
Site6 12.10 12.26
Site7 163.10 167.18
Site8 74.10 75.51
Site9 19.20 19.74
Site10 74.80 77.12
Site11 287.80 300.46
Site12 13.40 13.76
Site13 283.60 288.70
Site14 475.70 495.68
Site15 741.20 779.74
Site16 2215.10 2398.95 "), header = T)
前10位點獨立(不包括上游的任何位點)。但是最後6個站點是,依賴於,因爲它們包含一個或多個站點,如下所示。
我想創建兩個新列measured_diff
和simulated_diff
。這些列中的值將是獨立這意味着對於最後六個站點,上游站點將從任何相關站點中減去,如下所示。
最終結果
它應該是這樣的
# id measured simulated measured_diff simulated_diff
#1 Site1 9.1 9.20 9.1 9.20 #independent
#2 Site2 126.0 129.02 126.0 129.02 #independent
#3 Site3 1.0 1.15 1.0 1.15 #independent
#4 Site4 84.5 85.77 84.5 85.77 #independent
#5 Site5 115.6 119.30 115.6 119.30 #independent
#6 Site6 12.1 12.26 12.1 12.26 #independent
#7 Site7 163.1 167.18 163.1 167.18 #independent
#8 Site8 74.1 75.51 74.1 75.51 #independent
#9 Site9 19.2 19.74 19.2 19.74 #independent
#10 Site10 74.8 77.12 74.8 77.12 #independent
#11 Site11 287.8 300.46 161.8 171.44 #site11 - site2
#12 Site12 13.4 13.76 12.4 12.61 #site12 - site3
#13 Site13 283.6 288.70 199.1 202.94 #site13 - site4
#14 Site14 475.7 495.68 298.2 313.59 #site14-(site3+site7+site12)
#15 Site15 741.2 779.74 280.4 309.47 #site15-(site1+site8+site9+site10+site13)
#16 Site16 2215.1 2398.95 582.7 691.51 #site16-(site5+site6+site11+site14+site15)
我歡迎任何建議,如何做到這一點的R'
這似乎是一個自定義計算,而不是任何模式 – akrun