楼主: xiaoyu163
7287 17

sas中修改变量值的一个问题 [推广有奖]

  • 1关注
  • 2粉丝

硕士生

15%

还不是VIP/贵宾

-

威望
0
论坛币
403 个
通用积分
3.0001
学术水平
4 点
热心指数
5 点
信用等级
6 点
经验
12151 点
帖子
66
精华
0
在线时间
206 小时
注册时间
2010-7-13
最后登录
2024-4-29

楼主
xiaoyu163 发表于 2011-6-1 12:31:58 |AI写论文
5论坛币
想请问一个问题,有一组sas数据list,如下:
a   b   c    d
1   2   3   "4"
5   6   7   "8"
。。。
。。。
。。。

如何将第四个变量的值中的引号去掉,形成一个新的数据呢?新的数据格式为
a   b   c   d
1   2   3   4
5   6   7   8
。。。
。。。
。。。

是不是可以用input 或put 语句,应该怎么写呢?谢谢大家的帮忙了!

最佳答案

stata18 查看完整内容

data a;set a; dd=substr(d,2,1); run;
关键词:变量值 Input 数据格式 list put 变量 SAS

本帖被以下文库推荐

沙发
stata18 发表于 2011-6-1 12:31:59
data a;set a;
dd=substr(d,2,1);
run;

藤椅
统计学小牛人 发表于 2011-6-1 12:43:24
这个应该是将字符型变量转换为数值变量,以前我是能做的,但是现在忘了啊

板凳
honghejing 发表于 2011-6-1 12:44:10
data a;
   set a;
  d=compress(d,'"');
run;

报纸
hopewell 发表于 2011-6-1 12:46:43
  1. data raw;
  2.     input @;
  3.     _infile_=compress(_infile_,'"');
  4.     input a b c d;
  5. datalines;
  6. 1   2   3   "4"
  7. 5   6   7   "8"
  8. ;
复制代码
观钓颇逾垂钓趣 种花何问看花谁

地板
honghejing 发表于 2011-6-1 12:46:57
'"'是单引号,双引号,单引号

7
uoke 发表于 2011-6-2 14:26:19
3楼的方法很好,最简单。

第三行的CODE改为: d=compress(d, ,"p");   也可以。

8
xiaoyu163 发表于 2011-6-3 06:23:03
谢谢大家的回复,3L4L5L都很有用,谢谢了!
不知道怎么送论坛币,有谁能教我一下吗?

9
honghejing 发表于 2011-6-3 08:55:44
对于一楼的回复,如果引号里面有两位数的话就不适用了

10
stata18 发表于 2011-6-3 09:02:43
如果括号里有其它符号,比如:
“1”
<2>
{3}
*4'
/5/
....
conpress也要添加其它符号呀,这时候compress无任何优势吧。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 03:54