全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
28350 17
2015-07-03

我想求元素个数为10的列向量x的累计的算术平均值:set obs 10
gen m=x
forvalues i=1/10{ replace m[i+1]=mean(x[1]-x[i+1])
}
为什么总是显示weights not allowed?



二维码

扫码加我 拉你入群

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

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

全部回复
2015-7-3 15:46:11
两个错误:
1. mean()是egen的函数,不能用replace.
2. m[i+1]不能用,如果确实要用应该为
复制代码
楼主的问题,可以这样实现:
复制代码
二维码

扫码加我 拉你入群

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

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

2015-7-4 10:44:50
andruw 发表于 2015-7-3 15:46
两个错误:
1. mean()是egen的函数,不能用replace.
2. m不能用,如果确实要用应该为楼主的问题,可以这样 ...
5747897D-7481-4CB4-B050-A5833D94154E.png 谢谢~~但是为什么我显示的是这个啊。。求解答~
二维码

扫码加我 拉你入群

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

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

2015-7-4 16:04:59
andystata 发表于 2015-7-4 10:44
谢谢~~但是为什么我显示的是这个啊。。求解答~
复制代码
应为
复制代码
注意 if 与_n之间有空格。
二维码

扫码加我 拉你入群

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

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

2015-7-4 16:07:27
andruw 发表于 2015-7-4 16:04
应为注意 if 与_n之间有空格。
嗯嗯 谢谢 问题是解决了  但是我的数据有一千万个 这样算好慢。。请问还有办法吗?
二维码

扫码加我 拉你入群

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

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

2015-7-4 16:12:21
andruw 发表于 2015-7-4 16:04
应为注意 if 与_n之间有空格。
在你的启示下,我是这样写的
gen m=.
forvalues i=1/10000000{
  gen b=v/`i'
   replace m=b in `i'
   drop b
}
但是也还是好慢。。
二维码

扫码加我 拉你入群

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

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

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

分享

扫码加好友,拉您进群