有没有什么办法可以越过“障碍”;太多的价值观”;使用表格时Stata出错?
我试图在Stata中根据另一个变量的类别生成一个变量的频率 对于我感兴趣的类别,另一个分类变量有大约790000个观察值 Stata对单向表和双向表分别有12000行和1200行的限制,这使得这不可能实现 每次运行有没有什么办法可以越过“障碍”;太多的价值观”;使用表格时Stata出错?,stata,Stata,我试图在Stata中根据另一个变量的类别生成一个变量的频率 对于我感兴趣的类别,另一个分类变量有大约790000个观察值 Stata对单向表和双向表分别有12000行和1200行的限制,这使得这不可能实现 每次运行选项卡x时,如果y==我都会得到以下错误: too many values r(134); 我安装了bigtab软件包,虽然它给了我表格,但它不能与by一起使用,也不能运行统计测试 这有什么办法吗 当SAS甚至SPSS可以毫无困难地运行完全相同的操作时,Stata应该有这样的任意限制
选项卡x时,如果y==
我都会得到以下错误:
too many values
r(134);
我安装了bigtab
软件包,虽然它给了我表格,但它不能与by
一起使用,也不能运行统计测试
这有什么办法吗
当SAS甚至SPSS可以毫无困难地运行完全相同的操作时,Stata应该有这样的任意限制似乎很愚蠢。对于一些人来说,人们想要超过12000行的表可能看起来很愚蠢,或者至少令人困惑,因为必须有更好的方法来显示结果或回答心中的问题 也就是说,
表格的限制是硬连接的。但你只需要考虑复制你想展示的东西。所以,对于单向频率
. bysort rowvar : gen freq = _N
. by rowvar : gen tag = _n == 1
. gsort -freq rowvar
. list rowvar freq if tag, noobs
对于双向频率
. bysort rowvar colvar : gen freq = _N
. by rowvar colvar : gen tag = _n == 1
. gsort -freq rowvar colvar
. list rowvar freq if tag, noobs
类似的方法,有更多的铃铛和哨子,在组
(SSC)中编码。在许多方面,一种更简单的方法是折叠
或收缩
数据集,然后列出它
要在此处标记总体战略:
产生你想要的新变量
如果有多个观察,则从每组中仅选择一个观察
列表
,而不是制表
更新
OP问道
. bysort rowvar : gen freq = _N
OP:这将为myrowvar
Me:否。freq
变量是rowvar
的每个不同值的观察计数
. by rowvar : gen tag = _n == 1
OP:这将为rowvar
中每个唯一观测值的第一个计数生成标记
变量
我:对,只要你说“独特”,而不是“独特”。唯一值仅出现一次
. gsort -freq rowvar
OP:这将按降序对freq
和rowvar
进行排序
Me:它在常量freq
块内按降序排序freq
,按升序排序rowvar
. list rowvar freq if tag, noobs
OP:if
在这里做什么
我:那是一个练习 使用命令bigtab
。(您必须先安装软件包:运行ssc install bigtab
)要获得帮助,请键入h bigtab
您好,谢谢您的回复。(很抱歉,我没有意识到按enter键会提交评论)我在Stata几乎是一个新手,所以请耐心听我讲这段代码,它为我的rowvar中每个值的最后一个计数生成freq变量,rowvar:gen tag==1
它为每个唯一观测值的第一个计数生成tag变量在rowvargsort-freq rowvar
中,此命令按降序对freq和rowvar进行排序列出rowvar freq if标记,noobs
if在此处做什么?用户在发布问题时报告了此命令的问题。