全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2262 6
2010-08-19
本来导入是件很简单的事情,但是昨天直到今天,我尝试了三种导入数据表的方法后还是没成功,让我着实受打击呀!
所以希望学习运用SAS软件的同仁们帮帮忙!
情况是这样的,我想导入一张.XLS表格中的两个数据,一个为字符型,一个为数字型,但不知为什么导入后数字型的为空!检查后发现数字型的那列导入后显示的是字符型,而且长度只有2。
我后来利用infile及 proc import,同样出现了这样的现象。
所以想问问这是什么原因造成的,另外我应该注意哪些地方才能更准确地导入数据。
急待解决!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-8-19 11:15:19
你数字那一列是不是第一个数是空格,然后sas就认为这一列都是空格了。如果这样的话,你先在excel里面把那个空格用某个数字代替,导入后再在SAS里面改成空格就可以了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-8-19 11:15:20
1# idiele

原因很可能是sas错误的判断了变量的类型。解决方法可以是:
利用proc import 生成读入excel的程序,然后改动 mixed = no ---->mixed = yes;
***mixed = no ---by default;
如果错误依然存在,你就把你的excel数据选两个贴上来,尤其是前几行
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-8-19 11:37:57
呵呵,谢谢楼上两位。
另外,楼上的“京剧”,用你教的方法能成功。不过有个小问题,SAS直接将两个变量都视为字符型了,但其中一个明明是数字型的啊!
我尝试用定义新变量的办法,但日志表明出现错误,停止处理。
所以再请教下。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-8-19 11:49:52
4# idiele

读入数据的原则是要忠实于原数据。所以类型的转换放在分析软件(sas)里做最好。转化的方法可以是:

data have;
b = input(a, best.);
或者是
b = a+0;**许多人认为这样做不好,我是个粗人,务实,只不过log里多了几个Notes而已;
run;
另外,excel和sas的接口的确有些问题。所以有些人建议先转化成 .CSV再读等等。还有,我所常见的往往是把字符读成数字的,你的情形较少见。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-8-19 11:55:33
好的。谢谢!
呵呵,我也不知为什么,运用SAS时老是会纠结于变量类型的问题。
觉得SAS脾气好大,按同样的办法,有时不会出错,有时又试遍很多办法也不管用。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群