On Jul 5, 2009, at 5:15 PM, sjkimble wrote:


R Help:


When I look at the object S, I see about half of them are
zeroes.

I've address the object S being zero so often by changing the value of
alpha, which I'm allowed to do according to the author. All values of S are
non zero and should not give Inf.

The "expectation" of a binomial model is for the LHS of the
formulat to be either a 1/0 vector or something of the form
cbind(events, non_events). You have satisfied that expectation with p
but there are only 2 such cases. It seems unreasonable to my thinking
to expect that a logistic regression model can deliver sensible output
from only 2 events. And that holds doubly (or perhaps infinitely?)
true when you are starting out with half of your covariates equal to
log(0) = -Inf.

Object p is presence (1) or absence (0) of a species on the 12 islands, and some of them are rare so they are mostly zeros. Nevertheless I tried with a
more common species whose data are:

   x.crd   y.crd           A p
1  361763 1034071      94.169 1
2  370325 1027277     127.642 1
3  370416 1027166     127.961 1
4  370471 1027148    1804.846 1
5  369050 1031312    1790.493 1
6  370908 1026354     199.103 1
7  361562 1034311    2047.637 1
8  365437 1022188 1622678.961 1
9  347047 1025334      21.169 1
10 349186 1024441  408556.801 1
11 361762 1034052       3.414 0
12 370799 1026557     103.994 0

So now you have gone from a situation with only two events to one with only two non-events. That is not a situation that is really any better from a statistical point of view.

The code, plus error message:

haliclona_reniera_manglaris<-read.table(file.choose(),header=T)
attach(haliclona_reniera_manglaris)
alphascan<-function(alpha,d,A,p){
+ edis<-as.matrix(exp(-alpha*d))
+ edis<-sweep(edis,2,A,"*")
+ S<-rowSums(edis[,p>0])

Hey,.... you told me you did <something> to get rid of the zeros in S. When I take this code out of the functional wrapper I get:

> S
1 2 3 4 5 6 7 8 6.965905e-07 5.139157e-07 8.325874e-60 1.318603e-22 1.329174e-22 0.000000e+00 1.390849e-94 1.755094e-97
            9            10            11            12
1.411310e-134  0.000000e+00  0.000000e+00  0.000000e+00

So now instead of 3/4 of them being zero only 1/3 of them are still zero. That does not seem to be satisfactory.

+ mod<-glm(p~offset(2*log(S))+log(A),family=binomial)
+ deviance(mod)
+ }
(sol<-optimize(alphascan,c(0.001,10),d=d,A=A,p=p))


So maybe the problem remain the same as before and supplying the missing d will not be enough. You still (I think) need a dataset that supplies enough information for a statistical approach.



David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to