-2
A
回答
0
您可以告诉SAS导入没有名称的“矩阵”。这将使您能够将数据作为数据读取并强制所有变量为字符串。所以基本上你会得到像这样的数据集。
data have ;
length f1-f6 $32 ;
infile cards dsd truncover ;
input f1-f6 ;
cards;
,,L1,,L2
,,F1,F2,F3,F4
,,,,,,
L3,F5,1,2,3,4
,F6,5,6,7,8
L4,F7,9,10,11,12
,F8,13,14,15,16
;;;;
然后,您可以处理数据集并生成从/到名称变量。首先创建一个引用所有变量的数组。然后创建两个临时数组来存储列标题名称。然后,当你阅读每行时,你可以找到该行的名称和值并输出它们。
data want ;
set have nobs=nobs ;
array x _character_ ;
array ln (200) $32 _temporary_;
array fn (200) $32 _temporary_;
length from_lastn lag_lastn from_firstn to_lastn to_firstn $32 ;
from_lastn = coalescec(x(1),lag_lastn);
lag_lastn = from_lastn ;
retain lag_lastn ;
from_firstn = x(2) ;
if _n_=1 then do i=3 to dim(x) ;
ln(i)=coalescec(x(i),ln(i-1));
end;
if _n_=2 then do i=3 to dim(x) ;
fn(i)=x(i);
end;
if _n_>3 then do i=3 to dim(x) ;
to_lastn = ln(i);
to_firstn= fn(i);
value=input(x(i),comma32.);
output;
end;
keep from_lastn from_firstn to_lastn to_firstn value ;
run;
0
您只能将平面文件导入SAS,因此您需要首先清理标题。
按照说明这里摆脱空白“lastnames”沿着顶部和侧面: http://www.extendoffice.com/documents/excel/771-excel-fill-blank-cells-with-value-above.html
一旦有没有空格,我认为这将是最简单的第一个和最后一个名字连在一起,连接成一个细胞。沿着顶部的= CONCATENATE(C1,C2)和沿着侧面的= CONCATENATE(A4 | B4)应该有效。
复制并粘贴连接的值只有自己删除公式。然后删除原始值。
你应该得到这样的结果:Screenshot of Excel Data Ready to Import 。
现在,导入到SAS,并与一个程序,看起来像这样堆栈内的值:
PROC TRANSPOSE DATA = import_from_excel
OUT=data_stacked
;
BY Names;
VAR
lastname1firstname1
lastname1firstname2
lastname1firstname3
lastname1firstname4
lastname1firstname5
lastname2firstname1
lastname2firstname2
lastname2firstname3
lastname2firstname4
lastname2firstname5
;
RUN;
你显然必须改变lastnameXfirstnameX值,以匹配你所拥有的,但它应该是为很容易从Excel复制和粘贴列A.
希望你没有太多的名字来压倒proc转置,但清理它并堆叠它是最基本的想法。
相关问题
- 1. SAS PROC制表输出数据集的变量名
- 2. 如何读取SAS数据集中的变量名称?
- 3. SAS导入多个数据集以将数据集名称保存为变量
- 4. SAS Proc数据集 - 使用宏变量更改数据集名称
- 5. 表矩阵的数据集
- 6. 将矩阵元素分配给数据集中的变量
- 7. SAS/IML:从多个矩阵创建数据集
- 8. SAS:使用PROC SQL将日期变量写入SAS数据集
- 9. SAS从宏变量创建和填充数据集变量
- 10. 将SAS数据集中的数据分配给变量(SAS E指南5.1)
- 11. SAS相当于R矢量到矩阵
- 12. SAS中的变量名
- 13. 数据测量矩阵
- 14. R - 将数据框中的变量与其他矩阵的值相关联的矩阵的子集
- 15. 如何检查Unix shell中的SAS数据集的变量名称?
- 16. 设置SAS数据集的标签等于它们的变量名称
- 17. SAS:来自数据集的最高变量的输出
- 18. SAS追加2点的数据集具有不同的变量
- 19. 带变量的矩阵C
- 20. 变量矩阵的值NumPy
- 21. 将SAS数据列变成宏变量?
- 22. Matlab |几个变量的矩阵函数
- 23. 可变数量的稀疏矩阵
- 24. 合并没有密钥变量的sas数据集
- 25. 更改SAS数据集中的变量长度
- 26. 如何使用SAS中重复的变量创建数据集
- 27. 填充矩阵proc iml SAS
- 28. SAS:迭代数据集名称
- 29. 矩阵数学R大数据集
- 30. SAS我想使用迭代变量来声明数据集上的变量
什么创建了矩阵?矩阵的图片是否有打印输出? – floydn
你说矩阵 - 你的意思是SAS IML矩阵还是在Excel中是矩阵格式?如果Excel,你是否已经将它导入SAS? – Reeza
这很可能是第一次观察结转问题,需要您使用保留。为了遵守SO规则,请发布您尝试过的内容。 – Reeza