经过吐血的整理,我终于整理好了这个涵盖了我们学校学生成绩、体测数据及图书馆数据的 数据集,为了保护隐私,我把数据集中的姓名、学号变量去掉了。
下载
数据下载:<匿去>
变量描述
变量名 |
含义 |
b 绩点 |
2017 年绩点 |
b 学业测评成绩 |
2017 年学业测评成绩 |
b 思想测评成绩 |
2017 年思想测评成绩点 |
b 综测 |
2017 年综测 |
b 综测班级排名 |
2017 年综测班级排名 |
b 综测专业排名 |
2017 年综测专业排名 |
b 绩点班级排名 |
2017 年绩点班级排名 |
b 绩点专业排名 |
2017 年绩点专业排名 |
a 绩点 |
2016 年绩点 |
a 学业测评成绩 |
2016 年学业测评成绩 |
a 思想测评成绩 |
2016 年思想测评成绩 |
a 综测 |
2016 年综测 |
a 综测班级排名 |
2016 年综测班级排名 |
a 综测专业排名 |
2016 年综测专业排名 |
a 绩点班级排名 |
2016 年绩点班级排名 |
a 绩点专业排名 |
2016 年绩点专业排名 |
民族 |
民族 |
年级 |
年级 |
行政班级 |
行政班级 |
性别 |
性别 |
a 身高 |
2016 年身高 |
a 体重 |
2016 年体重 |
a 肺活量 |
2016 年肺活量 |
av50 米跑 |
2016 年 50 米跑 |
a 立定跳远 |
2016 年立定跳远 |
a 千米跑 |
2016 年千米跑 |
a 坐体前屈 |
2016 年坐体前屈 |
a 引体向上_仰卧起坐 |
2016 年引体向上_仰卧起坐 |
a 耐力加分 |
2016 年耐力加分 |
a 柔韧力量加分 |
2016 年柔韧力量加分 |
b 身高 |
2017 年身高 |
b 体重 |
2017 年体重 |
b 肺活量 |
2017 年肺活量 |
bv50 米跑 |
2017 年 50 米跑 |
b 立定跳远 |
2017 年立定跳远 |
b 千米跑 |
2017 年千米跑 |
b 坐体前屈 |
2017 年坐体前屈 |
b 引体向上_仰卧起坐 |
2017 年引体向上_仰卧起坐 |
b 耐力加分 |
2017 年耐力加分 |
b 柔韧力量加分 |
2017 年柔韧力量加分 |
v1617 学年体测成绩 |
1617 学年体测成绩 |
v1718 学年体测成绩 |
1718 学年体测成绩 |
入馆次数 |
2017 年入馆次数 |
进馆次数在全院的排名 |
2017 年进馆次数在全院的排名 |
每月进馆次数序列 |
2017 年每月进馆次数序列 |
最早入馆时间 |
2017 年最早入馆时间 |
最喜欢的入馆时间 |
2017 年最喜欢的入馆时间 |
总打印数量 |
2017 年总打印数量 |
总扫描数量 |
2017 年总扫描数量 |
总逾期归还图书数量 |
2017 年总逾期归还图书数量 |
每月打印数量序列 |
2017 年每月打印数量序列 |
总借阅量 |
2017 年总借阅量 |
借阅量在全院排名 |
2017 年借阅量在全院排名 |
最早借书的时间 |
2017 年最早借书的时间 |
最喜欢借书的时间 |
2017 年最喜欢借书的时间 |
借阅 Kindle 的次数 |
2017 年借阅 Kindle 的次数 |
每个月借阅的次数序列 |
2017 年每个月借阅的次数序列 |
最喜欢借阅的书的类型 |
2017 年最喜欢借阅的书的类型 |
区县代码 |
籍贯所在区县代码 |
省份 |
籍贯所在省份 |
城市 |
籍贯所在城市 |
经度 |
籍贯所在经度 |
纬度 |
籍贯所在纬度 |
专业 |
专业 |
当然数据集并不完整。数据来源分别是:
- 图书馆数据:暨南大学图书馆公众号;
- 体测数据:暨大体育公众号;
- 成绩数据:数字暨大。
- 籍贯所在区县数据:根据身份证号前六位匹配得到。
这个数据集很有意思呢!不过需要注意以下几个注意事项:
1. 如果你使用了该数据集进行数据分析,请告知我(直接在下面评论即可),谢谢!
2. 请勿使用该数据集侵犯个人隐私甚至从事违法活动;
3. 数据整理至网络,使用时请勿注明数据来源于我这里!注明数据来源于网络即可。
4. 请勿再次爬取,学校似乎已经注意到了这种行为了!(例如文亮同学曾经被图书馆警告过😄)。
一些简单的分析
成绩好的人身体好不好
R1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| library(readstata13) library(tidyverse) df <- read.dta13("暨南大学学生信息表.dta") %>% as_tibble()
df %>% select(b绩点, v1718学年体测成绩, 年级) %>% filter(!is.na(b绩点) & !is.na(v1718学年体测成绩)) %>% rename(testscore = b绩点, healthscore = v1718学年体测成绩, grade = 年级) %>% ggplot(aes(x = testscore, y = healthscore, color = grade)) + geom_point(position = 'jitter') + scale_color_brewer(name = "年级", palette = 'Set2', breaks = c("2年级", "3年级", ""), labels = c("大二", "大三", "未知")) + geom_smooth() + labs(x = "绩点", y = "体测得分", title = "绩点 vs. 体测", caption = "数据来源:暨南大学")
|

当然如果你学过计量经济学,你就一定不能把这幅图存在的相关关系当成因果关系,这里面存在很多问题?哪些呢?
身高分布
R1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| df %>% select(b身高, 年级) %>% filter(!is.na(b身高)) %>% rename(height = b身高, grade = 年级) %>% filter(height > 100 & height < 200) %>% ggplot(aes(x = height)) + geom_density(aes(y = ..density.., group = grade, fill = grade), alpha = 0.6) + scale_x_continuous( breaks = seq(140, 200, by = 20), labels = paste0(seq(140, 200, by = 20), "cm") ) + scale_fill_brewer(name = "年级", palette = 'Set2', breaks = c("2年级", "3年级", ""), labels = c("大二", "大三", "未知")) + labs(x = "身高", y = "密度", title = "暨南大学同学身高分布")
|

体重分布
R1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| df %>% select(b体重, 年级) %>% filter(!is.na(b体重)) %>% rename(weight = b体重, grade = 年级) %>% filter(weight > 25 & weight < 125) %>% ggplot(aes(x = weight)) + geom_density(aes(y = ..density.., group = grade, fill = grade), alpha = 0.6) + scale_x_continuous( breaks = seq(25, 125, by = 25), labels = paste0(seq(25, 125, by = 25), "kg") ) + scale_fill_brewer(name = "年级", palette = 'Set2', breaks = c("2年级", "3年级", ""), labels = c("大二", "大三", "未知")) + labs(x = "体重", y = "密度", title = "暨南大学同学体重分布")
|

体重的性别分布
R1 2 3 4 5 6 7 8 9 10 11 12 13
| df %>% select(b体重, 性别) %>% filter(!is.na(b体重)) %>% rename(weight = b体重, gender = 性别) %>% filter(weight > 25 & weight < 125) %>% ggplot(aes(x = weight)) + geom_density(aes(y = ..density.., group = gender, fill = gender), alpha = 0.6) + scale_x_continuous( breaks = seq(25, 125, by = 25), labels = paste0(seq(25, 125, by = 25), "kg") ) + scale_fill_brewer(name = "性别", palette = 'Set2') + labs(x = "体重", y = "密度", title = "暨南大学同学体重分布")
|

身高的性别分布
R1 2 3 4 5 6 7 8 9 10 11 12 13
| df %>% select(b身高, 性别) %>% filter(!is.na(b身高)) %>% rename(height = b身高, gender = 性别) %>% filter(height > 100 & height < 200) %>% ggplot(aes(x = height)) + geom_density(aes(y = ..density.., group = gender, fill = gender), alpha = 0.6) + scale_x_continuous( breaks = seq(140, 200, by = 20), labels = paste0(seq(140, 200, by = 20), "cm") ) + scale_fill_brewer(name = "性别", palette = 'Set2') + labs(x = "身高", y = "密度", title = "暨南大学同学身高分布")
|

BMI 指数的分布
BMI = 体重公斤数/身高米数平方
R1 2 3 4 5 6 7 8 9 10 11 12 13
| df %>% select(b身高, b体重, 性别) %>% rename(height = b身高, weight = b体重, gender = 性别) %>% filter(!is.na(height) & !is.na(weight)) %>% filter(height > 100 & height < 200) %>% filter(weight > 25 & weight < 125) %>% mutate( bmi = weight/(height/100)^2 ) %>% ggplot(aes(x = bmi)) + geom_density(aes(y = ..density.., group = gender, fill = gender), alpha = 0.6) + scale_fill_brewer(name = "性别", palette = 'Set2') + labs(x = "BMI", y = "密度", title = "暨南大学同学BMI分布")
|

好了。。。我知道自己的位置了。。。体重真是大问题!