[R] testing coeficients of glm

2008-01-24 Thread peter salzman
Dear list,

i'm trying to test if a linear combination of coefficients of glm is equal
to 0. For example :
class 'cl' has 3 levels (1,2,3) and 'y' is a response variable. We want to
test  H0: mu1 + mu2 - mu3 =0 where mu1,mu2, and mu3 are  the means for each
level.

for me, the question is how to get the covariance matrix of the estimated
parameters from glm. but perhaps there is a direct solution in one of the
packages.

i know how to solve this particular problem (i wrote it below) but i'm
curious about the covariance matrix of coefficient as it seems to be
important.

the R code example :
###
nObs - 10
cl - as.factor( sample(c(1,2,3),nObs,replace=TRUE) )
y - rnorm(nObs)

model - glm(y ~ cl)
b - model$coefficients
H - c(1,1,-1)  # we want to test H0: Hb = 0

### the following code will NOT run unless we can compute covModelCoeffs

#the mean of Hb is
mu = H %*% model$coefficients
#the variance is HB is
var = H %*% covModelCoeffs %*% t(H)

p.val - 2 * pnorm( -abs(mu), mean=0, sd=sqrt(var),lower.tail = TRUE)


how do i get the covariance matrix of the estimated parameters ?

thanks,
peter

P.S. the simple solution for this particular problem:

## get the mean for each level
 muV - by(y,cl,mean)
## get the variance for each level
 varV - by(y,cl,var)

## the mean of Hb is
muHb - H %*% muV
## because of independence, the variance of Hb is
varHb - sum(varV)

## the probability of error, so-called p-value:
p.val - 2 * pnorm( -abs(muHb), mean=0, sd=sqrt(varHb),lower.tail = TRUE)

thanks again,
peter


-- 
Peter Salzman, PhD
Department of Biostatistics and Computational Biology
University of Rochester

[[alternative HTML version deleted]]

__
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.


Re: [R] testing coeficients of glm

2008-01-24 Thread Prof Brian Ripley
On Thu, 24 Jan 2008, peter salzman wrote:

 Dear list,

 i'm trying to test if a linear combination of coefficients of glm is equal
 to 0. For example :
 class 'cl' has 3 levels (1,2,3) and 'y' is a response variable. We want to
 test  H0: mu1 + mu2 - mu3 =0 where mu1,mu2, and mu3 are  the means for each
 level.

 for me, the question is how to get the covariance matrix of the estimated
 parameters from glm. but perhaps there is a direct solution in one of the
 packages.

See ?vcov .

BTW, help.search(covariance matrix) finds it.


 i know how to solve this particular problem (i wrote it below) but i'm
 curious about the covariance matrix of coefficient as it seems to be
 important.

 the R code example :
 ###
 nObs - 10
 cl - as.factor( sample(c(1,2,3),nObs,replace=TRUE) )
 y - rnorm(nObs)

 model - glm(y ~ cl)
 b - model$coefficients
 H - c(1,1,-1)  # we want to test H0: Hb = 0

 ### the following code will NOT run unless we can compute covModelCoeffs

 #the mean of Hb is
 mu = H %*% model$coefficients
 #the variance is HB is
 var = H %*% covModelCoeffs %*% t(H)

 p.val - 2 * pnorm( -abs(mu), mean=0, sd=sqrt(var),lower.tail = TRUE)


 how do i get the covariance matrix of the estimated parameters ?

 thanks,
 peter

 P.S. the simple solution for this particular problem:

 ## get the mean for each level
 muV - by(y,cl,mean)
 ## get the variance for each level
 varV - by(y,cl,var)

 ## the mean of Hb is
 muHb - H %*% muV
 ## because of independence, the variance of Hb is
 varHb - sum(varV)

 ## the probability of error, so-called p-value:
 p.val - 2 * pnorm( -abs(muHb), mean=0, sd=sqrt(varHb),lower.tail = TRUE)

 thanks again,
 peter




-- 
Brian D. Ripley,  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel:  +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UKFax:  +44 1865 272595

__
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.


Re: [R] testing coeficients of glm

2008-01-24 Thread peter salzman
thank you,
peter

On 1/24/08, Prof Brian Ripley [EMAIL PROTECTED] wrote:

 On Thu, 24 Jan 2008, peter salzman wrote:

  Dear list,
 
  i'm trying to test if a linear combination of coefficients of glm is
 equal
  to 0. For example :
  class 'cl' has 3 levels (1,2,3) and 'y' is a response variable. We want
 to
  test  H0: mu1 + mu2 - mu3 =0 where mu1,mu2, and mu3 are  the means for
 each
  level.
 
  for me, the question is how to get the covariance matrix of the
 estimated
  parameters from glm. but perhaps there is a direct solution in one of
 the
  packages.

 See ?vcov .

 BTW, help.search(covariance matrix) finds it.

 
  i know how to solve this particular problem (i wrote it below) but i'm
  curious about the covariance matrix of coefficient as it seems to be
  important.
 
  the R code example :
  ###
  nObs - 10
  cl - as.factor( sample(c(1,2,3),nObs,replace=TRUE) )
  y - rnorm(nObs)
 
  model - glm(y ~ cl)
  b - model$coefficients
  H - c(1,1,-1)  # we want to test H0: Hb = 0
 
  ### the following code will NOT run unless we can compute covModelCoeffs
 
  #the mean of Hb is
  mu = H %*% model$coefficients
  #the variance is HB is
  var = H %*% covModelCoeffs %*% t(H)
 
  p.val - 2 * pnorm( -abs(mu), mean=0, sd=sqrt(var),lower.tail = TRUE)
 
 
  how do i get the covariance matrix of the estimated parameters ?
 
  thanks,
  peter
 
  P.S. the simple solution for this particular problem:
 
  ## get the mean for each level
  muV - by(y,cl,mean)
  ## get the variance for each level
  varV - by(y,cl,var)
 
  ## the mean of Hb is
  muHb - H %*% muV
  ## because of independence, the variance of Hb is
  varHb - sum(varV)
 
  ## the probability of error, so-called p-value:
  p.val - 2 * pnorm( -abs(muHb), mean=0, sd=sqrt(varHb),lower.tail =
 TRUE)
 
  thanks again,
  peter
 
 
 

 --
 Brian D. Ripley,  [EMAIL PROTECTED]
 Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
 University of Oxford, Tel:  +44 1865 272861 (self)
 1 South Parks Road, +44 1865 272866 (PA)
 Oxford OX1 3TG, UKFax:  +44 1865 272595




-- 
Peter Salzman, PhD
Department of Biostatistics and Computational Biology
University of Rochester

[[alternative HTML version deleted]]

__
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.


Re: [R] testing coeficients of glm

2008-01-24 Thread Achim Zeileis
On Thu, 24 Jan 2008, peter salzman wrote:

 Dear list,

 i'm trying to test if a linear combination of coefficients of glm is equal
 to 0. For example :
 class 'cl' has 3 levels (1,2,3) and 'y' is a response variable. We want to
 test  H0: mu1 + mu2 - mu3 =0 where mu1,mu2, and mu3 are  the means for each
 level.

Look at
  linear.hypothesis()
in package car.

## data (reduce treatment to three levels)
data(OrchardSprays)
os - subset(OrchardSprays, treatment %in% c(A, B, C))
os$treatment - factor(os$treatment)

## model and test
fm - lm(decrease ~ 0 + treatment, data = os)
coef(fm)
linear.hypothesis(fm, treatmentA + treatmentB - treatmentC = 0)

See the accompanying documentation for an overview which extractor
functions (such as coef, vcov, etc.) are used to compute the test.

hth,
Z

 for me, the question is how to get the covariance matrix of the estimated
 parameters from glm. but perhaps there is a direct solution in one of the
 packages.

 i know how to solve this particular problem (i wrote it below) but i'm
 curious about the covariance matrix of coefficient as it seems to be
 important.

 the R code example :
 ###
 nObs - 10
 cl - as.factor( sample(c(1,2,3),nObs,replace=TRUE) )
 y - rnorm(nObs)

 model - glm(y ~ cl)
 b - model$coefficients
 H - c(1,1,-1)  # we want to test H0: Hb = 0

 ### the following code will NOT run unless we can compute covModelCoeffs

 #the mean of Hb is
 mu = H %*% model$coefficients
 #the variance is HB is
 var = H %*% covModelCoeffs %*% t(H)

 p.val - 2 * pnorm( -abs(mu), mean=0, sd=sqrt(var),lower.tail = TRUE)


 how do i get the covariance matrix of the estimated parameters ?

 thanks,
 peter

 P.S. the simple solution for this particular problem:

 ## get the mean for each level
  muV - by(y,cl,mean)
 ## get the variance for each level
  varV - by(y,cl,var)

 ## the mean of Hb is
 muHb - H %*% muV
 ## because of independence, the variance of Hb is
 varHb - sum(varV)

 ## the probability of error, so-called p-value:
 p.val - 2 * pnorm( -abs(muHb), mean=0, sd=sqrt(varHb),lower.tail = TRUE)

 thanks again,
 peter


 --
 Peter Salzman, PhD
 Department of Biostatistics and Computational Biology
 University of Rochester

   [[alternative HTML version deleted]]

 __
 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.



__
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.