楼主: zhonghuijie
15147 17

[字符问题求助] strL格式的数据要怎么处理? [推广有奖]

  • 0关注
  • 0粉丝

博士生

31%

还不是VIP/贵宾

-

威望
0
论坛币
7625 个
通用积分
4.2019
学术水平
4 点
热心指数
6 点
信用等级
0 点
经验
1418 点
帖子
71
精华
0
在线时间
415 小时
注册时间
2012-8-7
最后登录
2023-8-22

5论坛币
如题,变量格式为strL时很多操作都不能用,比如merge,substr等等,这个格式要怎么修改成普通的str格式?

最佳答案

夏目贵志 查看完整内容

那就表示你的数据的内容长度过长,不能被压缩了,不然的话会损失数据内容。你可以用substring来提取/保留需要的部分。
关键词:怎么处理 SUBSTR Merge subs 怎么修改
沙发
夏目贵志 发表于 2016-7-14 19:16:36 |只看作者 |坛友微信交流群
zhonghuijie 发表于 2016-7-15 16:02
我用过compress,不能改变strL的格式
那就表示你的数据的内容长度过长,不能被压缩了,不然的话会损失数据内容。你可以用substring来提取/保留需要的部分。
  1. . set obs 1
  2. number of observations (_N) was 0, now 1
  3. . gen strL x="aaaaaaa"
  4. . gen y=substr(x,1,1)
  5. . de y
  6.               storage   display    value
  7. variable name   type    format     label      variable label
  8. -------------------------------------------------------------------------------------------------------------------------------------------
  9. y               str1    %9s                  
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

使用道具

藤椅
夏目贵志 发表于 2016-7-15 08:35:57 |只看作者 |坛友微信交流群
如果数据可以直接转换格式的话用compress命令即可

使用道具

板凳
zhonghuijie 发表于 2016-7-15 16:02:05 |只看作者 |坛友微信交流群
夏目贵志 发表于 2016-7-15 08:35
如果数据可以直接转换格式的话用compress命令即可
我用过compress,不能改变strL的格式

使用道具

报纸
zhonghuijie 发表于 2016-7-18 18:24:05 |只看作者 |坛友微信交流群
夏目贵志 发表于 2016-7-16 00:53
那就表示你的数据的内容长度过长,不能被压缩了,不然的话会损失数据内容。你可以用substring来提取/保留 ...
这确实是个办法,但是我还要用这个变量进行精确匹配,所以有没有其他的方法,就是不改变这个变量内容的方法?

使用道具

地板
夏目贵志 发表于 2016-7-19 02:22:36 |只看作者 |坛友微信交流群
zhonghuijie 发表于 2016-7-18 18:24
这确实是个办法,但是我还要用这个变量进行精确匹配,所以有没有其他的方法,就是不改变这个变量内容的方 ...
应该是没有的。每种数据类型对数据内容都有限制。你的数据要么就满足这个类型的要求,要么就不满足。没有中间地带的。
不过可以考虑的方法之一是把你的长字符串拆开成好几个短的。

使用道具

7
jackiehqu 发表于 2017-11-17 18:12:40 |只看作者 |坛友微信交流群
用命令  recast
recast str variable

使用道具

8
zhonghuijie 发表于 2017-11-19 00:06:10 |只看作者 |坛友微信交流群
jackiehqu 发表于 2017-11-17 18:12
用命令  recast
recast str variable
谢谢回复,不过,我尝试过,这个命令也不行,至于原因我也没明白,这个变量最长是60个字符,当我使用recast str100 var时,显示var:  615 values would be changed; not changed     不知道是什么问题

使用道具

9
so_longtime 发表于 2018-1-18 12:46:00 |只看作者 |坛友微信交流群
zhonghuijie 发表于 2017-11-19 00:06
谢谢回复,不过,我尝试过,这个命令也不行,至于原因我也没明白,这个变量最长是60个字符,当我使用reca ...
您好,楼主,这个问题您解决了吗?我在merge时也是遇到了这样问题,strL格式的,麻烦指点下吧

使用道具

10
zhonghuijie 发表于 2018-1-20 11:35:13 |只看作者 |坛友微信交流群
so_longtime 发表于 2018-1-18 12:46
您好,楼主,这个问题您解决了吗?我在merge时也是遇到了这样问题,strL格式的,麻烦指点下吧
最终就直接去截取数据了,substr
已有 1 人评分论坛币 热心指数 收起 理由
so_longtime + 1 + 1 精彩帖子

总评分: 论坛币 + 1  热心指数 + 1   查看全部评分

使用道具

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

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

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

GMT+8, 2024-4-28 13:17