如何在SAS中手动创建含字符串的测试数据集并正确定义字符串变量
解决SAS数据集字符串列显示为空的问题
你的问题出在默认INPUT语句会将变量识别为数值型,而media列是字符串内容,导致SAS无法正确读取该列数据,最终显示为空。以下是两种正确的处理方式:
方法1:直接标记字符型变量(推荐)
在INPUT语句中,给media变量前加上$符号,明确指定它为字符型。同时可以去掉datalines里的引号(否则引号会被当作字符串的一部分读入):
data want; input ID num media $; datalines; 1 200 film 2 50 art 3 100 music run;
如果需要指定字符列的长度(默认是8个字符),可以写成$N.的形式(N为长度数值),比如指定长度为10:
data want; input ID num media $10.; datalines; 1 200 film 2 50 art 3 100 music run;
方法2:保留引号读取
如果希望保留datalines里的引号格式,可以使用$QUOTE.输入格式,SAS会自动去除引号并读取字符串内容:
data want; input ID num media :$quote.; datalines; 1 200 "film" 2 50 "art" 3 100 "music" run;
内容的提问来源于stack exchange,提问作者Chuck
相关产品推荐
相关产品推荐

