楼主: l6397
2847 5

求助:样本统计量的问题 [推广有奖]

  • 0关注
  • 0粉丝

博士生

42%

还不是VIP/贵宾

-

威望
0
论坛币
120 个
通用积分
16.6418
学术水平
1 点
热心指数
6 点
信用等级
0 点
经验
3788 点
帖子
235
精华
0
在线时间
178 小时
注册时间
2007-3-28
最后登录
2023-5-13

楼主
l6397 发表于 2009-3-12 00:17:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

求助:样本统计量的问题

有20个变量,它们的观测为 0  到 9 的数字。
现在我想统计这20个变量中每一行有几个0 或几个1。有没有什么简单的方法?

如:下列的观测,需要统计一行变量值等于1的有几个:
2 1 3 5 1 7  这行观测中等于1的,有2个

1 9 4 1 1 8  这行观测中等于1的,有3个

谢谢!!

[此贴子已经被作者于2009-3-12 15:47:20编辑过]

二维码

扫码加我 拉你入群

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

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

关键词:统计量 变量值 有没有 样本 统计量

回帖推荐

qoo_519 发表于5楼  查看完整内容

如果是一个变量取值为一串数字 x=“2 1 3 5 1 7”,那么用以下语句data temp;set a;count=0;do i=1 to 6;if scan(x,i," ")="1" then count+1;end;run;如果是一行记录的话是六个变量:%macro t;data temp;set a;count=0;%do i=1 %to 6;if var&i.=1 then count+1;%end;%mend;%t;运行这个宏就行,大家一起讨论啊

yongyitian 发表于6楼  查看完整内容

下面是一个比较简单的方法data I6397 (drop= seed_1 i j); seed_1 =6397; array Var{20} var1-var20; do i = 1 to 5;    do j = 1 to 20;   var(j) = int(ranuni(seed_1)*10); end; output; end;run;data _null_;    file 'D:\Mysas\SASData\TempResults\I63.txt' dlm=','; set I6397; /* this is your dataset */ put var1-var20;  /* wri ...

本帖被以下文库推荐

沙发
xmok77 发表于 2009-3-12 08:41:00

记录和变量听着有点混啊

不过,说到底,不过就是个编程序计数的问题嘛

以出世的精神做入世的事情

藤椅
pobel 在职认证  发表于 2009-3-12 10:59:00
用数组
和谐拯救危机

板凳
l6397 发表于 2009-3-12 15:45:00

我是想统计每一行观测中,有几个1。

求助:能不能说的具体点。

报纸
qoo_519 发表于 2009-3-12 17:19:00

如果是一个变量取值为一串数字 x=“2 1 3 5 1 7”,那么用以下语句

data temp;

set a;

count=0;

do i=1 to 6;

if scan(x,i," ")="1" then count+1;

end;

run;

如果是一行记录的话是六个变量:

%macro t;

data temp;

set a;

count=0;

%do i=1 %to 6;

if var&i.=1 then count+1;

%end;

%mend;

%t;

运行这个宏就行,大家一起讨论啊

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

地板
yongyitian 发表于 2009-3-13 07:37:00

下面是一个比较简单的方法

data I6397 (drop= seed_1 i j);
 seed_1 =6397;
 array Var{20} var1-var20;
 do i = 1 to 5;
    do j = 1 to 20;
   var(j) = int(ranuni(seed_1)*10);
 end;
 output;
 end;
run;
data _null_;
    file 'D:\Mysas\SASData\TempResults\I63.txt' dlm=',';
 set I6397; /* this is your dataset */
 put var1-var20;  /* write 20 variable names at here */
run;
data I63_Count;
   infile 'D:\Mysas\sasdata\Tempresults\I63.txt';
   format line $50.;
   input line $;
   One=count(line,'1');
   zero = count(line,'0');
run;
proc print data=I63_count;
run;

output
 Obs    line                                    One    zero

1     2,6,6,3,4,4,4,2,5,8,1,1,1,7,0,1,8,4,3,9     4       1
2     6,4,0,3,6,3,0,5,7,7,3,7,9,5,0,3,4,1,9,2     1       3
3     2,4,3,9,3,5,9,3,9,2,5,2,6,7,9,5,2,0,4,8     0       1
4     6,5,2,3,4,0,5,4,6,5,1,2,2,9,2,0,4,5,0,8     1       3
5     2,0,4,6,8,8,4,7,6,2,4,6,6,7,2,5,5,9,3,2     0       1

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

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

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