【发布时间】:2020-11-23 02:23:54
【问题描述】:
我不确定描述这个问题的最佳方式,我承认我编写的以更小格式重新创建问题的代码不太准确。
我有 7 个数据集,它们的列数相同 (122),但行数不同。除了下划线和整数之外,这些列的标签是相同的。示例:每个数据集的第一列是 "study_id_1" "study_id_2" ... "study_id_7"
我正在尝试将这些数据集按数字顺序堆叠在一起,并删除下划线和整数。
但是,如果我使用这段代码,所有的值都在块中,但沿对角线。
data all;
set PT_BS1_all PT_BS2_all PT_BS3_all PT_BS4_all PT_BS5_all PT_BS6_all PT_BS7_all;
run;
以下代码(用 SAS Studio 编写)几乎可以说明问题和“对角线”。但是,在我的实际数据中(在 SAS EG 中工作),所有缺失值都是句点,无论变量类型如何。在下面的示例中,我只能为数值变量的缺失值显示句点。
data have;
input study_id_1 $ variable1_1 $ variable2_1 variable3_1 study_id_2 $ variable1_2 $ variable2_2 variable3_2 study_id_3 $ variable1_3 $ variable2_3 variable3_3;
cards;
A treatment 35 24 . . . . . . . .
B placebo 24 44 . . . . . . . .
C treatment 66 77 . . . . . . . .
D placebo 73 45 . . . . . . . .
. . . . A treatment 23 34 . . . .
. . . . B placebo 43 56 . . . .
. . . . C treatment 34 34 . . . .
. . . . D placebo 54 67 . . . .
. . . . . . . . A treatment 22 66
. . . . . . . . B placebo 33 67
. . . . . . . . C treatment 23 48
. . . . . . . . D placebo 69 70
;
run;
proc print data=have;
run;
data want;
input study_id $ variable1 $ variable2 variable3;
cards;
A treatment 35 24
B placebo 24 44
C treatment 66 77
D placebo 73 45
A treatment 23 34
B placebo 43 56
C treatment 34 34
D placebo 54 67
A treatment 22 66
B placebo 33 67
C treatment 23 48
D placebo 69 70
;
run;
proc print data=want;
run;
我希望我已经充分描述了这个问题,并感谢您的帮助。
【问题讨论】:
-
附加到变量的标签无关紧要。你的意思是名字有数字后缀吗?
标签: sas