[R] Matrix oriented computing

Achim Zeileis Achim.Zeileis at wu-wien.ac.at
Fri Aug 26 14:46:53 CEST 2005


On Fri, 26 Aug 2005 14:44:10 +0200 Sigbert Klinke wrote:

> Hi,
> 
> I want to compute the quantiles of Chi^2 distributions with different 
> degrees of freedom like
> 
> x<-cbind(0.005, 0.010, 0.025, 0.05, 0.1, 0.5, 0.9, 0.95, 0.975, 0.99,
> 0.995) df<-rbind(1:100)
> m<-qchisq(x,df)
> 
> and hoped to get back  a  length(df) times length(x)  matrix with the 
> quantiles. Since this does not work, I use
> 
> x<-c(0.005, 0.010, 0.025, 0.05, 0.1, 0.5, 0.9, 0.95, 0.975, 0.99,
> 0.995) df<-c(1:100)
> m<-qchisq(x,df[1])
> for (i in 2:length(df)) {
>   m<-rbind(m,qchisq(x,df[i]))
> }
> dim(m)<-c(length(df),length(x))
> 
> Is there a way to avoid the for loop ?

You could use sapply():
  m <- sapply(x, function(x) qchisq(x, df))
hth,
Z

> Thanks Sigbert
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>




More information about the R-help mailing list