经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
计量经济学与统计论坛 五区
›
计量经济学与统计软件
›
Stata专版
[STATA数据压缩]你真的会用-compress-吗?
楼主
皖山一流
20722
12
收藏
2015-02-03
我们知道,将数据导入STATA后,如果
觉得数据储存空间有点大
,会用
-compress
-命令进行压缩下。这样基本会搞定。
可是最近的一次经历让我改变了看法:导入一份
125M
左右的Excel,后储存为.dta格式,居然有
2.3+G
-- 匪夷所思吧!
回到STATA,compress --> save ,依然是那么大!……思索良久…… -
des-
查看下, 哇!有
三个字符型变量居然是:str2045!!
看来应该就是这个原因了,why?经过一阵摸索,发现了原来是有
一条记录导入时出现差错
:
一个单元格里放入几乎所有变量的值
,too long too long……
删除 --> compress --> save , 马上只有200+M了!
总结:
如果发现.dta格式
大小异常
,不妨尝试
查看是不是因为某个字符型变量出现问题
。
1.
des
--> 找出异常长的字符型变量,如:
abvar。
2.
replace
abvar
=subinstr(
abvar
," ","",.) --> 消除不必要的空格(多数情况下,空格都是占空间的和无意义的!)
3.
-compress-并-des
abvar
-如果差不多了就到这吧,毕竟时间宝贵!如果还是很异常,如:str1000!那么,继续吧。。。
4.
ed
abvar
--> 肉眼大概估计出正常的、最小的长度为多少合适,如:str30(或者省去这一步,直接跳到下一步)
5.
ed abvar if length(abvar) >= 30 --> 哪些作怪的异常记录必会在这里面,通常这一步就可以发现它们了!
6.
发现了后,接下来3种处理方法,自己选择吧!
A、修改记录:如果只有少数几个异常记录,直接手动在单元格里改吧,可以避免损失这几条样本(but,谨慎!不可逆。。。)
B、删除:drop if length(abvar)># (#的大小自己设定一个--保证异常的记录删除又不会影响正常的记录即可!)
删除后 --> compress --> OK!
C、-recast- 如:recast str30
abvar
, force (
慎用,因为如果30这个数不准确,那么会造成部分记录显示不完全!
)
then,-compress- --> OK!
详细操作,见代码:
复制代码
最后附上一个自编的批量删除空格的小命令:
-dlblanks- (见代码!)
用法:dlblanks v1 v2 v3 ... [if] [in] , 即可删除字符型变量
v1 v2 v3 ...中的所有空格。
复制代码
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
georgeshe
2015-2-3 17:13:13
推荐用browse,edit有点儿危险
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
625928915
2015-2-4 10:18:02
谢谢楼主分享
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
皖山一流
2015-2-7 02:21:37
georgeshe 发表于 2015-2-3 17:13
推荐用browse,edit有点儿危险
嗯,灰常有道理,只是习惯,e d按键,咯咯
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
报纸
皖山一流
2015-2-16 22:47:59
附一个自编的批量删除多个字符型变量的小命令:
-dlblanks-
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
地板
tlu8623
2016-1-28 12:42:05
这个帖子启发很大
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
点击查看更多内容…
7楼
皖山一流
2016-3-29 20:35:19
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
8楼
gwl11818
2016-6-12 15:38:31
越来越沉迷于其中!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
9楼
zabbyy
2016-10-5 10:53:45
谢谢楼主分享
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
10楼
maayunnbiaoo
2016-10-5 12:11:53
东西不错,收了
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
11楼
windtalker312
2019-2-22 14:16:20
谢谢楼主分享
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
12楼
windtalker312
2019-3-19 09:26:00
谢谢分享,受益匪浅
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
13楼
paopao1203
2020-3-11 17:58:13
楼主,我大概明白你的意思,也遇到你这个问题,我的csv不过几十兆,变成dta不知道怎么就12G了,但是你的代码真心乱到看不明白啊,可以简洁一点吗
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
Stata软件no room。。我该怎么compress我的data
SAS中文字的问题
请教大神:使用函数compress()返回乱码,是怎么回事?
sas compress
请教这段程序为何不用compress就会出错
关于一个compress问题
compress scan字符型函数
请教大牛,Compress在下面例子中如何应用
SAS如何从字符中提取数字
如何删除另一列包含的文本?
栏目导航
Stata专版
论文版
爱问频道
情感交友
哲学与心理学版
会计与财务管理
热门文章
【全美经典】离散数学
understanding climate change perceptions ...
中国数字经济规模数据、报告(2005-2023年) ...
【同程商旅】中国企业出海差旅研究报告
“十四五”能源发展成就报告
智算无界AIDC的超越和重构2025
当社科基础理论重大理论发现的时候
【10+指标】2007-2024年上市公司污染物排放 ...
2025年我国医药航空冷链发展现状与趋势展望 ...
是相信人工智能?还是否定人工智能?相信就 ...
推荐文章
AI狂潮席卷学术圈,不会编程也能打造专属智 ...
10月重磅来袭|《打造Coze/Dify专属学术智能 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群