全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
18255 18
2011-08-12
举例如下数据结构, 其中n大于1000。
       A              B           ...
1    1.2            .
2    1.3            .
3    1.2            .
...
n    1.5            .
1     .               1.7
2     .               1.3
3     .               1.9
...
n     .               2.4

现在想把B变量的第一个1-n行赋值为第二个1-n行。
如果不使用矩阵,有什么办法吗?多谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-8-12 21:05:27
没看明白说的什么
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-12 22:29:15
我也不看地太明白。
所以不清楚以下的例子演练是不是您要的。
参考看看。

input A B
1.2 .
1.3 .
1.2 .
1.5 .
. 1.7
. 1.3
. 1.9
. 2.4
end

replace B=B[(_N/2)+_n] if B==.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-14 04:50:07
多谢楼上两位。抱歉我再重复一下(我已经找到一个极其土的办法,但还是希望诸位指点一下)。数据很大,比如每个变量有100000以上观察值,因此希望用矩阵存储是不可能的。
变量的值如下(n>10000):
       A              B           ...
1    1.2            .
2    1.3            .
3    1.2            .
...
n    1.5            .
1     .               1.7
2     .               1.3
3     .               1.9
...
n     .               2.4

我想把它变成
       A              B           ...
1    1.2            1.7
2    1.3            1.3
3    1.2            1.9
...
n    1.5            2.4
1     .               1.7
2     .               1.3
3     .               1.9
...
n     .               2.4
因为有几百个变量,不可能用input.

多谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-14 06:13:25
chase_dream 发表于 2011-8-14 04:50
多谢楼上两位。抱歉我再重复一下(我已经找到一个极其土的办法,但还是希望诸位指点一下)。数据很大,比如 ...
那個input是舉例給您看,不是要您真的那樣做!
您說您有幾百個變量?
您可不可以把變量C也列一下看是啥狀況,否則有時真的不太明白您在說什麼。

假設有變量A 變量B1…  一直到B1000
把先前給您的指令試著加個loop看看是不是您要的。【參考看看,請替換成您的變量】

foreach v of varlist B1-B1000 {
  replace `v'=`v'[(_N/2)+_n] if `v'==.      
}  

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-15 00:33:51
       A              B           C             D...
1    A1            .             .              .
2    A2            .             .              .
3    A3            .             .              .
...
n    An            .             .              .
1     .               B1         .              .
2     .               B2         .              .
3     .               B3         .              .
...
n     .               B4          .              .
1     .                .           C1           .
2     .                .           C2           .
3     .                .           C3           .
...
4     .                .           Cn           .
...
...
...

我想把它变成
      A              B            C             D ...
1    A1           B1          C1              .
2    A2           B2          C2              .
3    A3           B3          C3              .
...
n    An           Bn          Cn              .


多谢!!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群