楼主: 米大哥
4351 5

[问答] SAS如何替换一列数据 [推广有奖]

  • 0关注
  • 0粉丝

大专生

50%

还不是VIP/贵宾

-

威望
0
论坛币
3961 个
通用积分
0.0750
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2871 点
帖子
11
精华
0
在线时间
92 小时
注册时间
2013-9-22
最后登录
2021-3-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有个特别小白的问题。。。 我想要替换原来数据中的一列,变成自定义的数字请教大家要怎么写code......


这是原来的数据:
A        B        C        D
77        10        33        57
37        75        47        76
40        82        11        68
46        72        68        58
50        56        43        2
46        35        97        69

然后想把C列变成 71 78 39 1 97 83, 然后像下面这样:
A        B        C        D
77        10        71        57
37        75        78        76
40        82        39        68
46        72        1        58
50        56        97        2
46        35        83        69

谢谢各位大神。。。
二维码

扫码加我 拉你入群

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

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

关键词:自定义 问题。

沙发
whymath 发表于 2018-8-1 21:00:45 |只看作者 |坛友微信交流群
如果是等式关系,比如C=A+1,那么就写成:
data test;
set test;
C = A+1;
run;

如果是想要直接编辑数据集中的数字(像Excel表格中那样),那么打开数据集以后,在数据集的任何一个位置右键单击,可以选用”Edit Mode“,就可以直接对数据进行编辑了

使用道具

藤椅
米大哥 发表于 2018-8-2 10:21:01 |只看作者 |坛友微信交流群
whymath 发表于 2018-8-1 21:00
如果是等式关系,比如C=A+1,那么就写成:
data test;
set test;
如果没有任何关系,只是完全随机的数字呢---- 有没有办法用code写进去呀~  因为这个只是大程序的一部分如果每次都要手动edit就有点太麻烦了也不好给别人用....

使用道具

板凳
whymath 发表于 2018-8-2 22:03:25 |只看作者 |坛友微信交流群
米大哥 发表于 2018-8-2 10:21
如果没有任何关系,只是完全随机的数字呢---- 有没有办法用code写进去呀~  因为这个只是大程序的一部分如 ...
仍然以Excel为比喻,要想编辑单元格首先要定位它的位置,比如 A1 表示第一行第一列。SAS中也是一样。

使用行号和列名来定位SAS中的”单元格“:
if _N_ = 1 then A = 255;
以上,_N_表示行号(即第几行),A是列名(即变量名),而255则是希望被写入的值。

使用道具

报纸
米大哥 发表于 2018-8-3 14:03:14 |只看作者 |坛友微信交流群
whymath 发表于 2018-8-2 22:03
仍然以Excel为比喻,要想编辑单元格首先要定位它的位置,比如 A1 表示第一行第一列。SAS中也是一样。

...
明白啦!谢谢!~

使用道具

地板
steven_1017 发表于 2018-8-17 13:01:15 |只看作者 |坛友微信交流群
看看是不是你要的效果。
data work.x;
input a b c d;
ob = _n_;
datalines;
77        10        33        57
37        75        47        76
40        82        11        68
46        72        68        58
50        56        43        2
46        35        97        69
;
run;

data work.x1;
input c;
ob = _n_;
datalines;
71
78
39
1
97
83
;
run;

data work.x2(drop=ob);
update x x1;
by ob;
run;

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

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

GMT+8, 2024-5-11 07:57