Categories
网络新发现

央视的纪录片们

最近发现这些年央视还是兢兢业业拍了不少好的纪录片。从《我在故宫修文物》《乾隆的秘密花园》,到《大明宫》,到《圆明园》,以及如实记录现代的《超级工程》、《航拍中国》。虽然穿插着看起来有种穿越时空的错乱感,但是每一部还是都让人看得心情跌宕起伏。比较讨我胃口的是这些纪录片基本以记录为主,很少带有主观的判断意见,基本都是客观事实,让读者自己去形成判断。

若说不足,怕就是这些纪录片只来得及选取最耀眼的明星,而中国历史中值得细细记录的实在是太多了。还记得初中高中背历史背得那般辛苦吗?每一句其实都是浓缩了几百年的故事,哪里会有那么容易。若说我不喜欢的历史教育,怕就是带有太强的主观色彩。不过历史教育在那里都是要多少服务于政治诉求的,所以也不能太怪罪当年的老师们。

一个几乎不追剧的人,近些日子确是看纪录片成瘾。算是向岁月致敬吧。

Categories
事儿关经济

中国地名的字频统计(县级及以上)

前几天看到微博上大家讨论县城名字:http://weibo.com/1444865141/EjcmoaykB

screen-shot-2016-11-27-at-5-44-05-pm

一时好奇,就把官方数据拿来看了一下。(2016年9月中华人民共和国县以上行政区划代码)

全部用来命名的只有1228个字,而相较于新华字典一般收录的八千到1万字,覆盖面其实挺小的。

不出意外的,这个字频分布呈现快速下降的长尾分布。看一下这个数据,还是蛮有意思的。

  • 第一名的“族”主要是有各种少数民族自治行政区划的存在。
  • 如果不看这个,则最受大家喜欢的就是“山”,“城”,“阳”,“江”,“安”,“州”。
  • 四个方向中,排序为“南”>“东”>“西”>“北”。
  • 地势描述成为了命名的主力词:山、江、河、海、川、湖、溪、林等。
  • 五行排名如下:水>金>土>木,然后没有火!看来全国人民都痛恨火灾。是不是和马伯庸提到的“雪”同理?大家都讨厌灾害。

这里贴一下前50高频词。

char_freq

完整的字频统计在这里: 中国县级及以上行政单位字频统计.txt

然后我们分区域来看一下各个区域特征。因为港澳台地区没有太多数据,所以我们只分析六大区域:华北、东北、华东、华中/华南、西南、西北。

  • 地势:除了西北地区以外,其他五个地区特别喜欢“山”。此外,东北常用“江河岭”,华北、西北常用“河”,华中/华南常用“江”,华东常用“江湖”,西南常用“江川”。
  • 四个方向:东北地区喜欢“东西”,华北地区喜欢“西”,华东地区喜欢“东南”,华中/华南常用“南”,西北常用“西”,西南常用“西南”。
  • 东北地区、西北地区、华南地区多有少数民族,故而地名含有民族名称。

region

全部数据下载:

中国县级及以上行政单位字频统计(按省份).txt

中国县级及以上行政单位字频统计(按地区划分).txt

原始数据:

town_name.csv

分析脚本:

town_name <- read_csv("~/Documents/town_name.csv")
names(town_name) = c("code","name")

town_name$name_s = gsub("市$|区$|县$|旗$|自治.*?$|盟$|省$","",town_name$name)
unique_character = unlist(strsplit(town_name$name_s,split = ""))
character_freq = as.data.frame(table(unique_character))
library(dplyr)
character_freq = character_freq %>% 
  arrange(Freq) %>% 
  mutate(rank = 1:nrow(character_freq))
write.csv(character_freq, file = "character_freq.csv", row.names = F)

library(ggplot2)
top_50 = character_freq %>% filter(Freq >= 25) 
ggplot(top_50, aes(x = as.factor(rank), y = Freq)) + 
  geom_bar(stat="identity", alpha = 0.5, fill = "grey")+
  coord_flip()+
  theme_bw(base_family = "Hei") +
  scale_x_discrete(labels = top_50$unique_character) +
  xlab("") +
  geom_text(aes(label = Freq, y =Freq/2 ), color = "deepskyblue3") +
  ylab("频次")+ggtitle("中国县级及以上行政单位字频统计")

#五行
character_freq %>% filter(unique_character %in% c("金","木","水","火","土")) 

#省

town_name$province = substr(town_name$code, 1,2)
town_name$region = substr(town_name$code, 1,1)

unique_prov =  town_name %>%  
  filter(grepl("0000",town_name$code))

char_by_prov = lapply(unique_prov$province, function(x) {
  prov = subset(town_name,province==x)
  chars = unlist(strsplit(prov$name_s,split = ""))
  freq_prov = as.data.frame(table(chars))
  freq_prov$rank = rank(-freq_prov$Freq, ties.method = "first")
  freq_prov$prov = x
  return(freq_prov)
})
char_by_prov = do.call(rbind, char_by_prov)

names(char_by_prov)
ggplot(char_by_prov %>% filter(rank<=5 & chars != "族" & ! prov %in% c(82,81)), aes(x= rank, y = Freq)) +
  geom_bar(stat="identity", alpha = 0.3)+
  facet_grid(name~.)+
  theme_bw(base_family = "Hei") +
  geom_text(aes(label = chars, y = Freq/2),family = "Hei")+
  coord_flip()+
  xlab("") +
  ylab("字频")
write.csv(char_by_prov, file = "char_by_prov.csv", row.names=F)

#by region
char_by_region = lapply(1:6, function(x) {
  prov = subset(town_name,region==x)
  chars = unlist(strsplit(prov$name_s,split = ""))
  freq_prov = as.data.frame(table(chars))
  freq_prov$rank = rank(-freq_prov$Freq, ties.method = "last")
  freq_prov$region = x
  return(freq_prov)
})
char_by_region = do.call(rbind, char_by_region)
char_by_region$region = factor(char_by_region$region)
levels(char_by_region$region)  = c("华北","东北","华东","华中/华南","西南","西北")

ggplot(char_by_region %>% filter(rank<=10 ), aes(x= rank, y = Freq)) +
  geom_bar(stat="identity", alpha = 0.3)+
  facet_grid(region~.)+
  theme_bw(base_family = "Hei") +
  geom_text(aes(label = chars, y = Freq/2),family = "Hei")+
  coord_flip()+
  xlab("") +
  ylab("字频") + ggtitle("中国县级以上行政单位字频统计(按区域划分)")

write.csv(char_by_region %>% filter(rank<=10 ), file = "freq_by_region.csv",row.names = F)
write.csv(char_by_region, file = "char_by_region.csv", row.names = F)
# draw regional map

library(ggmap)  


# find each regional center
unique_region = filter(unique_prov, substr(province,2,2)==2 & region<=6)   
location = lapply(unique_region$name,geocode)
location = do.call(rbind,location)
unique_region = cbind(unique_region,location)
unique_region$region = factor(unique_region$region)
levels(unique_region$region)  = c("华北","东北","华东","华中/华南","西南","西北")

# top 10 char for each region
top_10_region = char_by_region %>% filter(rank<=10 )
top_10_region =  top_10_region %>% 
  mutate(labels = paste0(chars," (",Freq,"次)"))

top_10_region = merge(top_10_region,unique_region, by ="region")
#adjust label positions

top_10_region_g = top_10_region %>% 
  mutate(lon_a = lon - rank %%2 *5 -3,
         lat_a = lat  - rank/2 - rank %%2 *(1/2)+5/2) %>% 
  select(c(region, rank, lon_a, lat_a, labels)) %>% 
  arrange(region,rank)

#manual adjustment
top_10_region_g = top_10_region_g %>% mutate(
  lon_a = lon_a + (region == "华东")*(7) + (region == "西南")*(-3)
)

qmap('China',color="color", zoom = 4, maptype = "satellite", alpha = 0.8) + 
  geom_text(data = top_10_region_g, aes( x = lon_a, y = lat_a, label = labels),
            family = "Hei",color = "white") +
  geom_text(data = unique_region,aes( x = lon-6+ (region == "华东")*(7)+ (region == "西南")*(-3), y = lat+3, label = paste0(region,"地区:")),
            family = "Hei",color = "white")
  

 

Categories
读书有感

最近在修的几门课...(Sep, 2013)

大家火眼金睛,微博上随便吱呀一句全都猜出来了...最近在修几门历史和艺术相关的课,总而言之就是我觉得我的人文修养实在是太烂了...工作之后的好处就是想学点什么就学点什么,自由的很,随心而至。

《史记》记载,秦始皇时期,“秦法,不得兼方。不驗,輒死。”。而我就属于那种死就死了吧...总是想学点好玩的东西的人。

现在在follow 的几门课是:

其他的边走边看吧,coursera上的课大都不长,可以一门一门慢慢来...

此外,刚留意到复旦吴立德老师的Elements of Statistical Learning又开课了,可惜我们搬离张江了哇...各种怨念中。

Categories
游来游去

青藏行纪(二):夜之拉萨

温软如玉
拉萨,夜凉如水。晚风终于在九点日落之后,迫不及待的拂过行人的脸颊,试图解除帽子或者围巾的武装。是的,拉萨离天太近,阳关不用努力便可以刺穿层层伪装。偶有零星小雨,让人疑惑的看着白云飘飘的天空不知缘由。

DSC02747
The Potala Palace at night, Lhasa.

几番犹豫之后,还是拨通了电话,以继续白天未完成的对话。灯火辉煌的布达拉宫近在咫尺,从酒吧的露台上,仿佛伸出手去便可摘得。一下子唤起来小时候午夜非要拖着爸妈去摘流星的那种童真。那年的济南,夜空还是容得下流星雨稀里哗啦的飘洒的。在这样一个美好的夜晚,真不应该浪费在没有心灵回音的电话那一端。回忆起下午跑到极度具有小资调调的「玛吉阿米」,在顶层的露台上迎着落日,自斟自饮。不知那年的仓央嘉措,逢着自己心动的感觉,是以油茶自嘲还是烈酒打发。几杯奶茶进肚,望着木制的杯子,却再也提不起饮酒的兴致。索性就呆呆的坐着,望着窗外的云彩,出出神。

DSC02671-r
View from Makye Ame, Lhasa.

夜越发的深了,也越发的凉了。布达拉宫在着越来越浓的夜色中,越发的闪耀着。无可比拟的光芒。不知那年的松赞干布,是以何种心情,迎来自己踏遍千山万水的公主。「千山鸟飞绝,万径人踪灭」,一路上青藏线的宏伟与凄凉让人胆寒。何来蓑舟翁,对饮寒江雪?

DSC02599-r
The Potala Palace in the day, Lhasa.

走在仓央嘉措走过的石板路上,不知那年的他,是何种反抗既定命运的心情。这么多年,依旧独爱花间派诗词这一支,还有些偏执的觉得诗词就应该为情而作,以文诉衷肠,哪怕是万千离绪击打的人喘不过气来。温庭筠,元稹,薛涛,秦少游。每每念及他们的名字,都仿佛听着岁月的回响。然而,拉萨是属于仓央嘉措的,读读他的文字,宛若抚摸着历史的刻碑。一道道,深深浅浅,直戳心底。

DSC02696
Street view in Lhasa.

DSC02703
Handmade masks in Lhasa.

Categories
我的生活状态

美好时光

刚刚看完了新上映的《Midnight in Paris》,很好看,很有趣!上次去巴黎的时候适逢冬天,冷得很,所以我对巴黎的印象没有那么美好(相比于罗马)。看过这个电影以后,却觉得巴黎真的是一座浪漫的城市,好浪漫!好想在夏天再去一次巴黎,去看看那里的人、事、物……

这两天难得有充裕的时间和心情读书,匆匆中读完了《女士品茶》和《万历十五年》。读前者是因为偶然间翻来了,其实很久以前就想读的,但是一直没找到完整的时间静下心来看。这次终于打开了,而且一发不可收拾,半天没干别的就读它了。《万历十五年》是最近需要为经济史写一篇论文,于是就想回顾一下明清史。现在真是觉得当年不好好的学习历史是件蛮遗憾的事儿,不过这很大程度上要归咎于我所经历的历史教育的失败而不是我自己的失败。我的好多历史知识其实是从游戏中学来的,说来还真有趣!

然后今天终于记得去图书馆里把凯恩斯当年关于概率论的著作搬回来了。有意思的是,今天和一个同学聊起凯恩斯,他居然也不知道凯恩斯除了是一个经济学家之外,还对概率论有所造诣。貌似他是在英国读的本科啊,呃,看来凯恩斯对于经济学的贡献真的是远远大于其他贡献了,所以有点验证了“月明星稀”的说法,毕竟月亮太耀眼了!

嗯,没想到还有机会在这里静下心来好好的读一些其他学科的书,貌似前一段之间读的全是纯经济学论文或者著作,哎!知识还是应该全面学习的嘛!这次借着写经济史论文的机会,可以好好的回顾一下近代史,嗯,真不错。话说,我从来没想过自己有朝一日会写和工业革命及“大分歧”(big divergence)有关的东西,这个题目着实是太大了,总是觉得拿捏不好。不过试一试也无妨,有一点想法哪怕幼稚,说说又如何。搜了搜文献,不知道为什么经济史研究涉及中国古代或者近代的少的很,希望不是我搜索的方法有误。诚然,中国改革开放三十年是一个很好的研究题材,不过谁也不会否认中国古代文明也是很有意思的啊,更何况中国保有那么好的文献记载(哈哈,是不是要多谢我们的四大发明呢?)。嗯,做一点是一点吧,看看有什么有意思的东西么~

真的不知不觉的,发现自己的思维还是有些西化了,或者说更开放了?欧洲真是一个迷人的地方,尤其是论及历史文化。嗯,最后罗嗦一句,巴塞罗纳的午夜,也是很美好的!套用Midnight in Paris里面的场景,就算我们碰不到毕加索或达利,能碰到高迪也是不错的嘛!哈哈,纯属午夜瞎想,见谅啦!