Trends are statistically significant or not
조회 수: 7 (최근 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!