当我仅将bysort
前缀与一个变量一起使用并生成另一个变量的均值时,我得到了一组值,例如42,43,39
等
bysort date: egen dailymean = mean(temperature) // Gives mean temp for each day
当我将bysort
与两个变量一起使用并产生相似的均值时,我得到一个不同的值,例如49,48,51
等。我想了解这些值表示什么。
bysort date isCentralPark: egen cpdailymean = mean(temperature)
在第一种情况下,我认为我通过按日期(换句话说就是日均温度)排序的变量来获取温度的均值。
第二次,我得到的是中央公园的日平均气温还是其他一些东西?
答案 0 :(得分:2)
sort
的帮助文件明确指出:
“ 排序将基于对当前数据的观察按升序排列 变量列表中变量的值... “
by
的帮助文件还明确指出:
“ ... by 对每组观察值重复以下命令的命令 varlist中的变量是相同的... “
因此bysort
只是在执行by
操作之前对数据进行排序。
您需要仔细研究帮助文件中提供的广泛示例,然后再在此处提出一些根本性的问题。
作为 Stata tag wiki解释说, “ ...您根本无法替代基本 Stata的概念和语法... “
在没有示例数据的情况下,尽管重复请求,您还是无法
提供,这是varlist
如何影响bysort
的简单示例:
clear
set obs 15
set seed 1234567890
egen id = seq(), block(5)
generate a = rnormal()
bysort id: generate n1 = _n
list
+---------------------+
| id a n1 |
|---------------------|
1. | 1 -.6953015 1 |
2. | 1 -.5804186 2 |
3. | 1 -1.938336 3 |
4. | 1 .9347979 4 |
5. | 1 -.767854 5 |
|---------------------|
6. | 2 .3776966 1 |
7. | 2 -.5545912 2 |
8. | 2 -.0636268 3 |
9. | 2 2.041136 4 |
10. | 2 -.2200604 5 |
|---------------------|
11. | 3 .5418512 1 |
12. | 3 1.174645 2 |
13. | 3 .3234408 3 |
14. | 3 -.544277 4 |
15. | 3 .2121655 5 |
+---------------------+
bysort id a: generate n2 = _n
list
+--------------------------+
| id a n1 n2 |
|--------------------------|
1. | 1 -1.938336 3 1 |
2. | 1 -.767854 5 1 |
3. | 1 -.6953015 1 1 |
4. | 1 -.5804186 2 1 |
5. | 1 .9347979 4 1 |
|--------------------------|
6. | 2 -.5545912 2 1 |
7. | 2 -.2200604 5 1 |
8. | 2 -.0636268 3 1 |
9. | 2 .3776966 1 1 |
10. | 2 2.041136 4 1 |
|--------------------------|
11. | 3 -.544277 4 1 |
12. | 3 .2121655 5 1 |
13. | 3 .3234408 3 1 |
14. | 3 .5418512 1 1 |
15. | 3 1.174645 2 1 |
+--------------------------+
bysort id (a): generate n3 = _n
list
+-------------------------------+
| id a n1 n2 n3 |
|-------------------------------|
1. | 1 -1.938336 3 1 1 |
2. | 1 -.767854 5 1 2 |
3. | 1 -.6953015 1 1 3 |
4. | 1 -.5804186 2 1 4 |
5. | 1 .9347979 4 1 5 |
|-------------------------------|
6. | 2 -.5545912 2 1 1 |
7. | 2 -.2200604 5 1 2 |
8. | 2 -.0636268 3 1 3 |
9. | 2 .3776966 1 1 4 |
10. | 2 2.041136 4 1 5 |
|-------------------------------|
11. | 3 -.544277 4 1 1 |
12. | 3 .2121655 5 1 2 |
13. | 3 .3234408 3 1 3 |
14. | 3 .5418512 1 1 4 |
15. | 3 1.174645 2 1 5 |
+-------------------------------+