Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 计算最小活动数(MNA)_R_Data Manipulation - Fatal编程技术网

R 计算最小活动数(MNA)

R 计算最小活动数(MNA),r,data-manipulation,R,Data Manipulation,我想知道是否有人能帮我计算出重新捕获数据的最小存活MNA数 MNA的计算公式为: 在时间t时捕获的实际个体数+在场的个体数,而不是 在时间t被抓获,但随后在1966年被抓获 我有二进制数据1用于捕获,0用于未捕获9个主要捕获周期,由101个个体的44个次要捕获周期组成。对于每个主捕获周期,我需要将次周期捕获数据压缩为0或1。这样,我可以计算每个主要捕获周期的MNA 非常感谢 Tanya这似乎浓缩了你的第二阶段数据。然而,请记住,已知动物6和10在第二个初级阶段仍然活着,即使当时没有检测到它们。此

我想知道是否有人能帮我计算出重新捕获数据的最小存活MNA数

MNA的计算公式为:

在时间t时捕获的实际个体数+在场的个体数,而不是 在时间t被抓获,但随后在1966年被抓获

我有二进制数据1用于捕获,0用于未捕获9个主要捕获周期,由101个个体的44个次要捕获周期组成。对于每个主捕获周期,我需要将次周期捕获数据压缩为0或1。这样,我可以计算每个主要捕获周期的MNA

非常感谢


Tanya

这似乎浓缩了你的第二阶段数据。然而,请记住,已知动物6和10在第二个初级阶段仍然活着,即使当时没有检测到它们。此外,我们不知道动物5在第一个初级阶段还活着,因为它是在第一个初级阶段之后检测到的。。。除非你假设在初级阶段没有出生

在本例中,有三个主要时段和三个次要时段

我并没有试图估计最小存活人数,因为我不清楚你们关于地理和人口统计的假设。不过,希望下面的数据摘要会有所帮助

my.data <- as.data.frame(matrix(rbinom(10*9,1,0.2), nrow = 10, byrow=FALSE))
my.data

#   V1 V2 V3 V4 V5 V6 V7 V8 V9
#1   0  0  0  0  0  0  0  1  1
#2   0  0  0  0  0  0  0  0  0
#3   0  0  0  0  0  0  0  0  0
#4   0  0  1  0  0  0  0  0  0
#5   0  0  0  0  0  1  0  1  1
#6   0  1  0  0  0  0  0  0  1
#7   1  1  1  0  0  0  0  0  0
#8   1  0  0  0  1  0  0  0  0
#9   0  0  0  0  1  0  1  1  1
#10  1  0  0  0  0  0  0  0  1

year.sums <- sapply(1:3, function(i)  apply(my.data[,(3*(i-1)+1):(3*(i-0))], 1, function(x) sum(x)) )
year.sums

#      [,1] [,2] [,3]
# [1,]    0    0    2
# [2,]    0    0    0
# [3,]    0    0    0
# [4,]    1    0    0
# [5,]    0    1    2
# [6,]    1    0    1
# [7,]    3    0    0
# [8,]    1    1    0
# [9,]    0    1    3
#[10,]    1    0    1

year.sums[year.sums>0] <- 1
year.sums

#      [,1] [,2] [,3]
# [1,]    0    0    1
# [2,]    0    0    0
# [3,]    0    0    0
# [4,]    1    0    0
# [5,]    0    1    1
# [6,]    1    0    1
# [7,]    1    0    0
# [8,]    1    1    0
# [9,]    0    1    1
#[10,]    1    0    1
您应该发布来自dputheadat,30的输出,其中'dat'是您的数据帧。另一种方法:tapplymy.data,1,tapply,rep1:3,each=3,sum>0+0