繁体   English   中英

使用glm计算列值

[英]Calculating column value using a glm

我有大约20,000行数据的数据集。 数据按年份和面积分组。 我正在尝试计算50%的雌性虾的长度。 当我运行以下代码时,它仅返回整个数据集的值,而不是每个年/区域对的唯一值。

该数据集被命名为shrimp

library(MASS)
library(plyr)

数据

shrimp <- structure(list(cruise = c(1972L, 1972L, 1972L, 1972L, 1972L, 
1972L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 2003L, 
2003L, 2003L, 1985L, 1985L, 1985L, 1985L, 1985L, 1985L, 1985L, 
1985L, 1985L, 1985L, 1985L, 1985L), areaname = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("Balboa", 
"Chiniak", "Pavlof"), class = "factor"), size = c(9, 9.5, 10, 
10.5, 11, 11.5, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 
20, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19
), male = c(49L, 61L, 92L, 57L, 46L, 9L, 151L, 64L, 30L, 0L, 
1L, 0L, 0L, 0L, 0L, 0L, 638L, 625L, 666L, 447L, 393L, 214L, 119L, 
33L, 12L, 13L, 7L, 6L), female = c(0L, 0L, 0L, 0L, 0L, 0L, 3L, 
15L, 35L, 78L, 122L, 105L, 76L, 28L, 13L, 36L, 0L, 5L, 8L, 13L, 
38L, 60L, 54L, 38L, 28L, 93L, 131L, 195L), total = c(49L, 61L, 
92L, 57L, 46L, 9L, 154L, 79L, 65L, 78L, 123L, 105L, 76L, 28L, 
13L, 36L, 638L, 630L, 674L, 460L, 431L, 274L, 173L, 71L, 40L, 
106L, 138L, 201L)), .Names = c("cruise", "areaname", "size", 
"male", "female", "total"), row.names = c(NA, 28L), class = "data.frame")

模型

cdata <- ddply(shrimp, c("cruise", "areaname"), summarise, 
                    female = dose.p(glm(cbind(female, males) ~ size,
                    family=binomial(logit), data=shrimp), cf=1:2, p =.5))

尚无任何针对此的测试,但也许:

library(MASS)
library(plyr)
cdata <- ddply(shrimp, c("cruise", "areaname"), summarise, 
           female = dose.p( glm(cbind(female, male) ~ size, 
                         family=binomial("logit") ),  cf=1:2, p = 0.5)
               ) 
##   cruise areaname   female
## 1   1972   Balboa 67.15131
## 2   1985   Pavlof 16.88196
## 3   2003  Chiniak 16.37031

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM