Trends are statistically significant or not
8 次查看(过去 30 天)
显示 更早的评论
I have the p-values for each pixel in idanom_trend_per_winter(:,:), and i am checking which areas show statistically significant values in my dataset. So put the NaN's and values less than 0.05(the default value of alpha, i am using R2012b) as NaN, and plot the results
for ii = 1:361,
for jj = 1:361
if ((idanom_trend_per_winter(:,:) > 0.05) | (isnan(idanom_trend_per_winter(:,:))))
sgt(ii,jj) = NaN;
else
sgt(ii,jj) = idanom_trend_per_winter;
end
end
end
_ Error Subscripted assignment dimension mismatch._
0 个评论
采纳的回答
David Barry
2016-12-15
编辑:David Barry
2016-12-15
Presumably instead of:
if ((idanom_trend_per_winter(:,:) > 0.05) | (isnan(idanom_trend_per_winter(:,:))))
sgt(ii,jj) = NaN;
else
sgt(ii,jj) = idanom_trend_per_winter;
end
You meant:
if ((idanom_trend_per_winter(ii,jj) > 0.05) | (isnan(idanom_trend_per_winter(ii,jj))))
sgt(ii,jj) = NaN;
else
sgt(ii,jj) = idanom_trend_per_winter(ii,jj);
end
Anyway, you can do all of this without the need for a loop. I am assuming sgt is meant to be the same size as idanom_trend_per_winter but with the substituted values, so:
sgt = idanom_trend_per_winter;
sgt(idanom_trend_per_winter < 0.05 | isnan(idanom_trend_per_winter)) = NaN;
Oh and also, you said less than 0.05 in your description but your code is checking for greater than.
更多回答(1 个)
Image Analyst
2016-12-15
This: "idanom_trend_per_winter(:,:) > 0.05" is going to give you a 2-D array, not a single number like you might be expecting. Use all() or any() depending on how you want to handle that case.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Regression 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!