sas - SAS中的加权交叉表
问题描述
假设我有下表:
id | var1 | var2 | count
1 | a | b | 3
2 | b | a | 4
3 | c | e | 1
现在我想计算一个交叉表:
PROC TABULATE;
CLASS var1 var2;
TABLE var1, var2;
RUN;
但是,我的问题是,count
让我们说 4 的 - 变量表示特定情况实际上应该在表中出现 4 次。所以上表应该是:
id | var1 | var2 | count
1 | a | b | 3
1 | a | b | 3
1 | a | b | 3
2 | b | a | 4
2 | b | a | 4
2 | b | a | 4
2 | b | a | 4
3 | c | e | 1
是否有可能直接在其中加权案例数量,PROC TABULAR
或者如何根据 的值添加其他案例count
?
解决方案
使用 FREQ 语句
data test;
infile cards dsd dlm='|' firstobs=2;
input id (var1-var2)(:$1.) count;
list;
cards;
id | var1 | var2 | count
1 | a | b | 3
2 | b | a | 4
3 | c | e | 1
;;;;
proc print;
run;
PROC TABULATE;
FREQ count;
CLASS var1 var2;
TABLE var1, var2;
RUN;
推荐阅读
- javascript - 为什么我在 react redux 中的更新会使用我所做的更新而不是编辑它来创建新数据?
- python - Django - 有没有办法在事务提交之前验证模型及其相关模型?
- zsh - 将命令分配给 Zsh 中的变量
- javascript - 使用表的值动态生成 onmouseover 标记
- colors - 计算一种颜色的颜色范围,从浅色到深(er)色
- java - 为 Spring Cloud Contracts 使用 RestAssuredMockMvc 的模拟静态方法
- react-native - 在 Expo 中工作时是否可以添加支付组件?
- vim - VIM - 删除组的匹配
- python - 试图将绘图显示限制为具有实心墙的立方体,matplotlib 3d 表面
- node.js - 在nodejs中重用postgresql连接池