楼主: 小野说好啊
1134 4

[数据管理求助] 将多个变量的数据进行截取或者合并排列 [推广有奖]

  • 0关注
  • 0粉丝

已卖:61份资源

博士生

9%

还不是VIP/贵宾

-

威望
0
论坛币
809 个
通用积分
17.7393
学术水平
2 点
热心指数
4 点
信用等级
0 点
经验
3362 点
帖子
115
精华
0
在线时间
274 小时
注册时间
2011-2-11
最后登录
2024-11-8

楼主
小野说好啊 学生认证  发表于 2020-12-13 19:00:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
12.png
请问,commid为long,t1-t3位byte,希望生成一个数值型(其实字符串也可以的)的变量city 值为 5513。
如何将commid的前4位5513提取出来生成一个新的变量,我用了gen city=substr(commid,1,4)
但是提示“type mismatch”

此外,如果希望t1-t3合并排列为5513,又怎么处理呢?不能用加,会等于13的。

感谢。

二维码

扫码加我 拉你入群

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

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

关键词:多个变量 mismatch commid SUBSTR Match stata 合并 截取 生成

沙发
小野说好啊 学生认证  发表于 2020-12-13 19:02:55
commid t1 t2 t3 city
551302  55 1 3 5513

藤椅
DΘstinyじò 发表于 2020-12-13 21:19:54
help string()
substr()函数作用于字符串变量,substr(string(commid),1,4),同理t1 t2 t3 string(t1)+string(t2)+string(t3)即可。
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
小野说好啊 + 1 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 1  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
ritaing 发表于 2020-12-14 08:20:51
因为你这些变量都是数值型的,但你要的操作都是字符串命令,所以mismatch。
可以先把这些变量变成字符串再处理,用tostring命令。
substr和你的+都是没问题的
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
小野说好啊 + 1 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 1  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

报纸
小野说好啊 学生认证  发表于 2020-12-14 10:21:06
感谢上面两位大大,最后我把commi除100取整了。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-11 01:41