楼主: hwy91
2036 2

[编程问题求助] 关于暂元的一个小问题 [推广有奖]

  • 0关注
  • 3粉丝

硕士生

78%

还不是VIP/贵宾

-

威望
0
论坛币
10979 个
通用积分
4.5650
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
499 点
帖子
118
精华
0
在线时间
228 小时
注册时间
2013-9-25
最后登录
2019-8-21

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

cap program drop mysum
    program define mysum

    args var         


local x1= var

sum `x1'

end

   sysuse nlsw88, clear

   mysum wage

stata初学,按着连老师12年的讲义学的,到暂元那块,源程序是用tempvar的,我想试着用local编一下,写了上面的程序,但无论怎么改都跑不出结果,请问这是为什么?谢谢!

二维码

扫码加我 拉你入群

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

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

关键词:小问题 Program DEFINE Local Stata 源程序 local

本帖被以下文库推荐

沙发
SpencerMeng 在职认证  发表于 2014-7-20 13:37:38 |只看作者 |坛友微信交流群
试试去掉local x1= var中的等于号

使用道具

藤椅
ywh19860616 发表于 2014-7-20 15:10:45 |只看作者 |坛友微信交流群
  1. cap program drop mysum
  2.     program define mysum
  3.     args var         

  4. local x1 " `var' "
  5. sum `x1'

  6. end
复制代码

这里的问题是var也是marco,所以不能用local x =`var'或者 local x `var'
当然,也不能像楼主那么用local x=var

程序也可以直接这样
  1. cap program drop mysum
  2.     program define mysum
  3.     args var         

  4. sum `var'

  5. end
复制代码

已有 1 人评分经验 论坛币 学术水平 热心指数 收起 理由
dxystata + 20 + 20 + 1 + 1 热心帮助其他会员

总评分: 经验 + 20  论坛币 + 20  学术水平 + 1  热心指数 + 1   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-21 08:45