楼主: jdzz
4166 11

[编程问题求助] 如何用循环语句对多个变量赋没有规律的不同值? [推广有奖]

教授

10%

还不是VIP/贵宾

-

威望
0
论坛币
5008 个
通用积分
287.4473
学术水平
13 点
热心指数
15 点
信用等级
9 点
经验
24506 点
帖子
722
精华
0
在线时间
803 小时
注册时间
2010-2-4
最后登录
2024-1-17

5论坛币
假设初始情况是变量值缺失,想对符合某一条件的obs的这些变量分别赋值,也就是按变量顺序排列形成一个numlist,有什么命令能把这些num分别赋进去?
=======================
解释一下,想增加obs两条记录,于是用set obs 扩充了样本量,然后对v1 v2 v3……vm这几个变量分别赋值 n1 n2 n3 nm,有什么命令或循环语句可以比较简洁地做到,而不是一条条replace?

最佳答案

夏目贵志 查看完整内容

循环一般用于简化重复劳动。如果你的变量名和需要赋值的值都没有什么规律可循,那么循环并不是最好的解决方案。你需要输入的变量名和值还是得一字不差的输入。
关键词:循环语句 多个变量 如何用 replace place 如何
沙发
夏目贵志 发表于 2015-12-8 12:12:21 |只看作者 |坛友微信交流群
jdzz 发表于 2015-12-8 19:39
谢回复。解释一下,想增加obs两条记录,于是用set obs 扩充了样本量,然后对v1 v2 v3……vm这几个变量分别 ...
循环一般用于简化重复劳动。如果你的变量名和需要赋值的值都没有什么规律可循,那么循环并不是最好的解决方案。你需要输入的变量名和值还是得一字不差的输入。

使用道具

藤椅
夏目贵志 发表于 2015-12-8 13:04:27 |只看作者 |坛友微信交流群
没看懂你要干什么。举个例子说明一下?

使用道具

板凳
4rain 发表于 2015-12-8 19:10:30 |只看作者 |坛友微信交流群
没例子,没数据。单靠猜是不是可以bysort v1 v2..:replace v3 if ...?

使用道具

报纸
jdzz 发表于 2015-12-8 19:39:32 |只看作者 |坛友微信交流群
夏目贵志 发表于 2015-12-8 13:04
没看懂你要干什么。举个例子说明一下?
谢回复。解释一下,想增加obs两条记录,于是用set obs 扩充了样本量,然后对v1 v2 v3……vm这几个变量分别赋值 n1 n2 n3 nm,有什么命令或循环语句可以比较简洁地做到,而不是一条条replace?

使用道具

地板
jdzz 发表于 2015-12-8 19:40:21 |只看作者 |坛友微信交流群
4rain 发表于 2015-12-8 19:10
没例子,没数据。单靠猜是不是可以bysort v1 v2..:replace v3 if ...?
解释一下,想增加obs两条记录,于是用set obs 扩充了样本量,然后对v1 v2 v3……vm这几个变量分别赋值 n1 n2 n3 nm,有什么命令或循环语句可以比较简洁地做到,而不是一条条replace?

使用道具

7
4rain 发表于 2015-12-8 21:38:25 |只看作者 |坛友微信交流群
jdzz 发表于 2015-12-8 19:40
解释一下,想增加obs两条记录,于是用set obs 扩充了样本量,然后对v1 v2 v3……vm这几个变量分别赋值 n1 ...
  1. local vars "v1..vm"
  2. foreach x of local `vars'{
  3.    foreach y of numlist n1/nm{
  4.    replace `x'==`y'
  5.    }
  6. }
复制代码
这样行不?我也是初接触循环,还在摸索

使用道具

8
jdzz 发表于 2015-12-10 21:08:33 |只看作者 |坛友微信交流群
夏目贵志 发表于 2015-12-9 22:32
循环一般用于简化重复劳动。如果你的变量名和需要赋值的值都没有什么规律可循,那么循环并不是最好的解决 ...
说得有道理。但此处变量名是有规律的,变量值没有规律。如果有种命令可批量替换,如批量重命名的renvars oldvars \ newvars,就方便多了。

使用道具

9
jdzz 发表于 2015-12-10 21:12:57 |只看作者 |坛友微信交流群
4rain 发表于 2015-12-8 21:38
这样行不?我也是初接触循环,还在摸索
且不说语法问题,这样相当于让每一个变量x按先后顺序从n1到nm走一遍,最终的结果应该是v1-vm都被赋值为 nm

使用道具

夏目贵志 发表于 2015-12-9 22:32
循环一般用于简化重复劳动。如果你的变量名和需要赋值的值都没有什么规律可循,那么循环并不是最好的解决 ...
我想请教下,针对不同年份不同行业进行某个变量的求和能否用循环语句进行说明,比如是A行业2010年所有主收的和,接着计算A行业2011年,2012年,还有B行业2011年,2012等。。。

使用道具

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

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

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

GMT+8, 2024-4-25 18:01