楼主: chenwen1129
1609 1

[问答] 如何计算某个值连续出现的次数 [推广有奖]

  • 0关注
  • 0粉丝

初中生

95%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
205 点
帖子
15
精华
0
在线时间
17 小时
注册时间
2009-2-28
最后登录
2021-7-17

楼主
chenwen1129 发表于 2011-4-13 23:31:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据格式如下:
obs
x1
x2
x3
x4
x5
x6
x7
x8
x9

1
0
0
0
0
0
1
1
0
1

2
0
1
1
1
0
0
1
1
0

3
1
0
0
1
1
1
1
0
0

4
1
1
1
0
0
1
1
1
0

5
0
1
1
0
0
0
1
1
1

......
1999
0
0
1
1
1
0
0
1
1

我需要求每一个obs连续取值为1最长的值。例如obs2连续取值为12次,一次为x2-x4,一次为x7-x8,连续取值为1最长的值为3(次),即x2-x4
向各位高手求助,程序要怎么写啊?
二维码

扫码加我 拉你入群

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

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

关键词:高手求助 数据格式 obs 如何 程序

沙发
Howard7738 发表于 2011-4-14 16:06:35
data a;
input obs        x1 x2 x3 x4        x5 x6 x7 x8        x9;
cards;
1  0  0  0  0  0  1  1  0  1
2  0  1  1  1  0  0  1  1  0
3  1  0  0  1  1  1  1  0  0
4  1  1  1  0  0  1  1  1  0
5  0  1  1  0  0  0  1  1  1
;
data b;
set a;
n=0;        m=0;
array x(9) x1-x9;
do i=1 to 9;
if x(i)=1 then n=n+1;
if n>m then m=n;
if x(i)=0 then n=0;
end;
keep x1-x9 m;
proc print;
run;
已有 1 人评分经验 热心指数 收起 理由
crackman + 20 + 1 鼓励积极发帖讨论

总评分: 经验 + 20  热心指数 + 1   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 08:14