I am really sorry, that the code appears in a bad way but it is really
not my fault (at least I think so). I think my mail-programm is
responsible for it because I sent it in a "normal" way without havin g
trouble with my space bar.
Here are the missing values (but please remember, this is only a short
example, normally there are more than 400 values)
x1 <- c(34.67,19.91,47.48,22.48,17.34,24.42)
m1 <- c(1,0,0,0,0,0)
n1 <- c(1,1,1,1,1,1)
dec1 <- c(0,0,0,0,1,0)
x2 <- c(50.98,30.63,31.37,21.17,21.49,39.41,46.85,38.08)
m2 <- c(1,0,0,0,1,0,2,1)
n2 <- c(3,3,3,3,3,3,3,3)
dec2 <- c(0,0,0,0,0,0,0,0)
I hope this is all you need,
Stefan
Zitat von Petr Pikal <petr.pikal at precheza.cz>:
Hi
Your example is not reproducible as we do not know x1.
Do you by chance seek for something like aggregate? If yes see
?aggregate
or
?by
BTW, do you have some trouble with your space bar?
HTH
Petr
On 10 Jun 2005 at 13:08, Stefan Wagner wrote:
Dear R-Users,
I have to do a maximum-likelihood estimation and have now a problem
concerning how to sum up my function values in a smart way. I don't
know how to explain it easyly, so I give you the code and show you
where my problem is. I have shorten the code a little bit, so that you
only get the necessary facts:
ws12 <- function (z, i) (1/(1+exp(z[1]*(z[3]-x1[i]-
z[4]*(m1[i]/n1[i]-0.5))))) ws37 <- function (z, i)
(1/(1+exp(z[2]*(z[3]-x2[i]- z[5]*(m2[i]/n2[i]-0.5))))) wsAttack12 <-
function (z,i) (ws12(z,i)*dec1[i]+(1-ws12(z,i))*(1-dec1[i]))
wsAttack37 <- function (z,i)
(ws37(z,i)*dec2[i]+(1-ws37(z,i))*(1-dec2[i])) logwsAttack12 <-
function (z,i) (log(wsAttack12(z,i))) logwsAttack37 <- function (z,i)
(log(wsAttack37(z,i))) ws12sum <- function (z)
(logwsAttack12(z,i=1)+logwsAttack12(z,i=2)+logwsAttack12(z,i=3)+logwsA
ttack12(z,i=4)+logwsAttack12(z,i=5)+logwsAttack12(z,i=6)) ws37sum <-
function (z)
(logwsAttack37(z,i=1)+logwsAttack37(z,i=2)+logwsAttack37(z,i=3)+logwsA
ttack37(z,i=4)+logwsAttack37(z,i=5)+logwsAttack37(z,i=6)+logwsAttack37
(z,i=7)+logwsAttack37(z,i=8)) wsLOG <- function (z) (ws12sum(z) +
ws37sum(z)) LogSum <- function (z) (-sum(wsLOG(z))) SP <- c(0.16,
0.10, 44, 0.80, 46) out <- nlm (LogSum, p=SP) out
For explanation: x1[i], x2[i], m1[i], m2[i], n1[i], n2[i] are given
data and z[1:5] are my estimates. My problem is that I have more than
one session with diffent number of datas so that I am searching for a
general way of summing up my logwsAttack12 and logwsAttack37. The
program should recognize how many data are in my table concerning ws12
and how many concerning ws37 and should, in dependency of z, sum them
up. I hope you understand my problem and hopefully someone is able to
solve it. Many thanks for the moment.
Best regards,
Stefan Wagner