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和丢失的数据的主要内容,如果未能解决你的问题,请参考以下文章

从 csv 文件将数据导入 SAS

在SAS中导入CSV数据时如何设置正确的日期格式?

SAS - 从带有科学计数法数字的csv文件导入时如何保留实际数字

SAS Proc Datasets - 使用宏变量更改数据集名称

SAS中数据的导入(1)

如何在PROC SQL中使用MACRO在SAS中创建连续变量