SAS Proc导入CSV和丢失的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAS Proc导入CSV和丢失的数据相关的知识,希望对你有一定的参考价值。
所以,我试图在SAS中导入一些数据集并将其加入,唯一的问题是加入它们后出现此错误-
proc import datafile='filepath/datasetA.csv'
out = dataA
dbms= csv
replace;
run;
proc import datafile='filepathdatasetB.csv'
out = dataB
dbms= csv
replace;
run;
/* combine them all into one dataset*/
data DataC;
set &dataA. &dataB;
run;
ERROR: Variable column_k has been defined as both character and numeric
有问题的列在我要加入的两个数据集中看起来都是这样-
column_k
0
1
5
4
NA
NA
4
3
NA
等。
[基本上,如果可能的话,我想将该列中的NA数据导入为'missing'?我需要整列保持数字,因为我打算对那列中的数据做进一步的数学处理。
感谢您的帮助!
答案
proc import
是一个猜测过程,它通过检查几行数据来工作。这是一个问题,因为Excel数据单元格没有任何数据类型。列可以在不同的单元格中具有文本,日期,日期时间和数字值。
因此,最好将infile
语句与指定的变量类型一起使用:
filename input 'filepath/datasetA.csv';
data dataA;
infile input truncover firstobs=2/*reads from the second line*/;
input column_k;/*here you should specify input variables. If you want to read column_k as character, use : "input column_k $100." with specified length*/
run;
filename input clear;
输入(csv文件):
+----------+
| column_k |
+----------+
| 0 |
| 1 |
| 5 |
| 4 |
| NA |
| NA |
| 4 |
| 3 |
| NA |
+----------+
输出(sas数据集数据A):
+----------+
| column_k |
+----------+
| 0 |
| 1 |
| 5 |
| 4 |
| . |
| . |
| 4 |
| 3 |
| . |
+----------+
以上是关于SAS Proc导入CSV和丢失的数据的主要内容,如果未能解决你的问题,请参考以下文章
SAS - 从带有科学计数法数字的csv文件导入时如何保留实际数字