我正在尝试在 Stata 中创建一个循环,以便我可以添加多个变量来创建mean_var和median_var。然而,这些数据并没有创造任何变量; Collapsed_file 与我的原始数据相同。
use appended_data, clear
// Define variables for loop (Renamed)
local renamed_vars varA varB
// Speaker-Interview Level Averages and Medians
preserve
foreach var of local renamed_vars {
collapse (mean) mean_`var' = `var' ///
(median) median_`var' = `var', ///
by(interview_id speaker_num)
}
tempfile collapsed_file
save `collapsed_file', replace
restore
有人可以帮忙吗?谢谢!
大概您的观察结果由
interview_id speaker_num
标识,因此每组观察结果只是一个观察结果,并报告结果。我想你应该只指定 interview_id
。一般的想法是,您应该告诉 by()
指定您想要的组的变量。
否则我对你的代码有三条评论。
use appended_data, clear
// Define variables for loop (Renamed)
// Speaker-Interview Level Averages and Medians
preserveforeach var in varA varB {
collapse (mean) mean_`var' = `var' ///
(median) median_`var' = `var', ///
by(interview_id speaker_num)
}
tempfile collapsed_file
save `collapsed_file', replace
restore
use appended_data, clear
// Speaker-Interview Level Averages and Medians of varA varB
foreach var in varA varB {
egen mean_`var' = mean(`var'), by(interview_id)
egen median_`var' = median(`var'), by(interview_id)
}
egen tag = tag(interview_id)
现在您可以比较均值和均值
if tag
。
collapsed_file
现在包含第二个文件的名称。因此,从您的代码中并不清楚您如何查看means文件。