在newvars.xls中,我对美国每个州的失业率(失业率)和酒精消费指数(alc)持续了19年。我还有一个州(2位FIPS代码)和年份指数(1994-2012)。
在stataset.xls中,我有一个县的索引(完整的FIPS代码),状态的索引(与之前相同)和一年的索引(与之前相同)。我每个县有19年的索引观察结果。
我希望将newvars.xls中的unemp和alc的州年观察与stataset.xls中的每个县级观察相匹配。基本上它意味着对于每个状态,我必须重复(垂直堆叠)19个观察的序列,与我的县一样多次,并按正确的顺序进行。当然,每个州的县数量各不相同。
首先:两个表的维度是: newvars = 950x4和 stataset = 58000(大致)X3 但八度音阶给了我
size newvars
ans =
1 7
size stataset
ans =
1 8
为什么到地球?
其次,我设计了以下循环来完成这个技巧:
newvars= xlsread('/Project/newvars.xls');
stataset=xlsread('/Project/stataset.xls')
unemp=stataset(:,1)
alc=unemp
for i=stataset(:,2) %column 2: state index
for j=newvars(:,1) %column 1: state index
if stataset(i,2)=newvars(j,1)
unemp=newvars(j,3) %column 3: unemployment inde
alc=newvars(j,4) %column 4: alcohol cons index
endif
end
end
但是我收到了一个错误:
warning: suggest parenthesis around assignment used as truth value
error: A(I,J,...) = X: dimensions mismatch
我该如何解决这个问题?为什么矢量的维数在循环中甚至重要,因为我在比较各个值?它只是一个语法错误还是存在逻辑缺陷? 谢谢你的帮助!