我有144个场景的数据集,并希望使用comb n函数计算所有可能组合的百分比变化。我试图在combn中使用百分比差异函数,但它一直给我大量的NA。有没有办法可以实现这个目标?
创建百分比变化功能:
pcchange=function(x,lag=1)
c(diff(x,lag),rep(NA,lag))/x*100
使用withing combn:
Catch_comp<-combn(catch_table$av_muC, 2, pcchange)
将结果转换为矩阵
inputs <- headers
out2 <- Catch_comp
class(out2) <- "dist"
attr(out2, "Labels") <- as.character(inputs)
attr(out2, "Size") <- length(inputs)
out2 <- as.matrix(out2)
out2
这就是我的表格看起来像:
> out2
F_R1S2_11 F_R1S2_12 F_R1S2_13 F_R1S2_21 F_R1S2_22 F_R1S2_23 F_R1S2_31 0.00000000 -0.8328001 NA -2.1972852 NA -0.11300746 NA -1.15112915 NA -2.7011787 NA -0.5359923 NA
F_R1S2_12 -0.83280008 0.0000000 NA -1.4558031 NA
举个例子: 对于两种情况,我平均有1000次实际捕获模拟 -
F_R1S1_11 = 155420.36
和
F_R1S1_12 = 154126.0215。
使用pcchange函数我想计算:
((F_R1S1_11-F_R1S1_12)/F_R1S1_11)*100
或
((155420.36-154126.02)/155420.36)*100=0.83%
改变价值观。
我想以144x144矩阵形式为所有可能的组合执行此操作。我希望有所帮助。
谢谢!