许多价值观的分类双向制表

时间:2016-06-07 21:16:25

标签: sorting stata frequency word-frequency

我有一个体面的大小数据集(大约18,000行)。我有两个要制表的变量,一个采用多个字符串值,第二个采用4个值。我想按4个类别将字符串值制成表格。我需要这些分类。我已经尝试了几个命令,包括tabsort,它可以工作,但前提是我将它使用的行数限制在前603个(至少按照当前排序的方式)。如果行数大于此数,那么我得到的r(134)错误表示值太多。还有什么要做的吗?我的目标是创建一个包含最常用单词的表并将其导出到LaTeX。尝试在像R这样的事情上做这件事要容易得多吗?

1 个答案:

答案 0 :(得分:3)

以下单行方式,来自SSC的contracttexsave

/* Fake Data */
set more off
clear
set matsize 5000
set seed 12345
set obs 1000
gen x = string(rnormal())
expand mod(_n,10)
gen y = mod(_n,4)

/* Collapse Data to Get Frequencies for Each x-y Cell */
preserve    
    contract x y, freq(N)
    reshape wide N, i(x) j(y)
    forvalues v=0/3 {
        lab var N`v' "`v'" // need this for labeling
        replace N`v'=0 if missing(N`v')
    }
    egen T = rowtotal(N*)
    gsort -T x // sort by occurrence
    keep if T > 0 // set occurrence threshold
    capture ssc install texsave
    texsave x N0 N1 N2 N3 using "tab_x_y.tex", varlabel replace title("tab x y")
restore

/* Check Calculations */
type "tab_x_y.tex"
tab x y, rowsort