楼主: 1073055492
10610 5

[问答] 求教sas怎么实现数据集里同一列数的行相减 [推广有奖]

  • 0关注
  • 0粉丝

初中生

66%

还不是VIP/贵宾

-

威望
0
论坛币
168 个
通用积分
0
学术水平
8 点
热心指数
7 点
信用等级
4 点
经验
62 点
帖子
7
精华
0
在线时间
22 小时
注册时间
2012-8-31
最后登录
2013-3-22

楼主
1073055492 发表于 2012-9-21 14:19:27 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如我有一个数据集 我想实现和excel一样的 进行A2-A1,A3-A2,A3-A2,这样的循环相减,是在同一列中的相邻的行相减,怎么实现呢?还有如果我想取得A1代表的数 怎么表达呢?我是新手,麻烦各位大侠了 谢谢哈
如图 实现比如Q1的10-9  1-10 7-7 10-7这样的相减 还有取得Q1列第一行的数9 怎么取?
二维码

扫码加我 拉你入群

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

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

关键词:数据集 EXCEL 各位大侠 exce xcel excel

沙发
1073055492 发表于 2012-9-21 16:02:27
图是这样的 上面的那个1-10 应该是7-10 打错了 该怎么实现呢 求助!!!

QQ截图20120921155526.png (1.67 KB)

QQ截图20120921155526.png

藤椅
287816895 发表于 2012-9-21 16:12:44
差分的话这样可以,要是跳着减我就不知道了

data a;
input Q1;
cards;
9
10
7
7
10
;
run;

data b;
set a;
q1_1=lag(q1);
if _n_=1 then q1_1=0;
c=q1-q1_1;
run;
已有 1 人评分学术水平 收起 理由
1073055492 + 1 好的意见建议

总评分: 学术水平 + 1   查看全部评分

板凳
wanwanle2 在职认证  发表于 2012-9-21 18:14:08
其实,若想进行进行A2-A1,A3-A2,A3-A2相减,SAS的DATA步有特定的差分函数。比如
data a;
input x;
cards;
12
23
43
32
;
run;
data a;
set a;
y = diff(x);
run;

即可。而函数diff2 是二阶差分等等。
已有 1 人评分学术水平 收起 理由
1073055492 + 1 我很赞同

总评分: 学术水平 + 1   查看全部评分

报纸
wanwanle2 在职认证  发表于 2012-9-21 18:16:25
不好意思,上面的函数diff 应该改为dif,二阶差分dif2 改为dif2

地板
1073055492 发表于 2012-9-24 09:04:02
谢谢楼上的两位大侠 我试试哈

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

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