楼主: hhlfd
2728 12

[编程问题求助] 使用foreach 命令将70个字符型变量转换为数字变量 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

初中生

38%

还不是VIP/贵宾

-

威望
0
论坛币
1951 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
184 点
帖子
10
精华
0
在线时间
16 小时
注册时间
2014-9-6
最后登录
2016-9-24

楼主
hhlfd 发表于 2016-8-20 15:18:45 |AI写论文
30论坛币
现在有70个变量,从V1-V70,全都是字符型,想用foerach 循环和encode命令组合,将他们全部变成数字型变量进行分析。我写的命令是:
foreach v of varlist V1-V70{
encode ‘v', gen (v_1)//创建对应的新变量v_1//
drop v //把旧的字符型变量删掉,只留下新变量//
}


我自己感觉,可能“gen (v_1)“这个地方有逻辑混乱,但是我也解释不太清楚。求助大神,这个命令该怎么写?

最佳答案

黃河泉 查看完整内容

show 一些资料(与变量名称)或 email 资料档给我看看 ()!
关键词:foreach 字符型变量 Reach 变量转换 字符型

回帖推荐

黃河泉 发表于11楼  查看完整内容

Try:

沙发
黃河泉 在职认证  发表于 2016-8-20 15:18:46
hhlfd 发表于 2016-8-21 12:52
哦哦,抱歉眼拙,没仔细看。但是我试过了,还是不行。报错是报invalid name。还可能是哪里出问题了?[sho ...
show 一些资料(与变量名称)或 email 资料档给我看看 (river@mail.tku.edu.tw)!

藤椅
黃河泉 在职认证  发表于 2016-8-20 15:53:52
Try:
  1. foreach v of varlist V1-V70 {
  2.   encode `v', gen(`v'_1)
  3.   drop `v'
  4. }
复制代码

板凳
hhlfd 发表于 2016-8-20 19:28:05
黃河泉 发表于 2016-8-20 15:53
Try:
这个命令跟我写的有什么不同?我没看出来问题在哪里

报纸
夏目贵志 发表于 2016-8-21 00:43:02
hhlfd 发表于 2016-8-20 19:28
这个命令跟我写的有什么不同?我没看出来问题在哪里
v前面那个引号

地板
黃河泉 在职认证  发表于 2016-8-21 09:47:32
夏目贵志 发表于 2016-8-21 00:43
v前面那个引号
没错,如同夏目贵志所说,你需要 `v' 而非只是 v 而已!

7
hhlfd 发表于 2016-8-21 12:52:39
黃河泉 发表于 2016-8-21 09:47
没错,如同夏目贵志所说,你需要 `v' 而非只是 v 而已!
哦哦,抱歉眼拙,没仔细看。但是我试过了,还是不行。报错是报invalid name。还可能是哪里出问题了?

8
hhlfd 发表于 2016-8-21 12:58:49
夏目贵志 发表于 2016-8-21 00:43
v前面那个引号
嗯嗯,谢谢!

9
hhlfd 发表于 2016-8-21 13:55:49
黃河泉 发表于 2016-8-21 09:47
没错,如同夏目贵志所说,你需要 `v' 而非只是 v 而已!
我还尝试了 destring fid-pat, replace这个命令,就是把fid到pat之间的变量全部转换为numerical的,然后替代。结果是:
fid contains nonnumeric characters; no replace
iid contains nonnumeric characters; no replace
pat contains nonnumeric characters; no replace

这个是为什么?stata并没有报错。

10
hhlfd 发表于 2016-8-21 20:27:53
黃河泉 发表于 2016-8-21 15:27
show 一些资料(与变量名称)或 email 资料档给我看看 ()!
已经把部分数据发到你邮箱,感谢赐教!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-31 19:45