2013-09-20 2 views
1

Мне интересно, может ли кто-нибудь помочь мне вычислить минимальное число живого (MNA) для повторной поимки данных.Вычисление минимального количества живых (MNA)

МНА рассчитывается следующим образом:

фактическое число лиц, попавших в момент времени (T) + присутствующих, не пойманной в момент времени (T), но пойманы впоследствии (Krebs, 1966)

У меня есть двоичные данные (1 для захвата, 0 для не-захвата) из 9 первичных периодов захвата, состоящих из 44 вторичных периодов захвата для 101 индивидуума. Мне нужно сконденсировать данные захвата вторичного периода в 0 или 1 для каждого периода первичного захвата. Таким образом, я могу вычислить MNA для каждого периода первичного захвата.

Премного,

Таня

+0

Вы должны отправить вывод из 'dput (head (dat, 30))' где 'dat' - ваш файловый фрейм. –

ответ

0

Это кажется конденсироваться данные вторичного периода. Однако имейте в виду, что животные 6 и 10, как известно, живы во второй первичный период, даже если они не были обнаружены. Кроме того, Animal 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 
+1

Другой метод: 't (apply (my.data, 1, tapply, rep (1: 3, each = 3), sum)> 0) + 0' – thelatemail

Смежные вопросы