How to obtain trend p-values for each cell of a matrix?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hello,
I am trying to output the regression p-values for each cell separately. I've successfully calculated the regression coefficients for each cell using polyfit:
for i=1:695
for j=1:822
summer_trend(1:2,i,j)=polyfit(year,summer(:,i,j),1);
end
end
However, I would now like to obtain the p-values for the coefficients cell-by-cell. Normally, I would use regstats and select tstat.pval but I'm not sure how to apply this over a matrix. I've tried for example the following code but the problem I have is the functions I've found always return a structure (which is no good when I have a matrix instead of vector...):
for i=1:695
for j=1:822
summer_pval=regstats(summer(:,i,j),year, 'linear',{'tstat'});
end
end
Any ideas how I could do this? Many thanks!
0 comentarios
Respuestas (1)
Tom Lane
el 12 de Abr. de 2013
You are right that regstats returns a structure, but it contains numeric values that you can assign into a matrix. For example, something like this:
s = regstats(pop,cdate,'linear');
coefmat(1:2,1) = s.tstat.beta;
pvalmat(1:2,1) = s.tstat.pval;
2 comentarios
Tom Lane
el 13 de Abr. de 2013
I had in mind this modification of your code:
for i=1:695
for j=1:822
s = regstats(summer(:,i,j),year);
summer_trend(1:2,i,j) = s.tstat.beta;
summer_pval(1:2,i,j) = s.tstat.pval;
end
end
Ver también
Categorías
Más información sobre Descriptive Statistics en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!