R語言分析老九門到底誰是主角
本人最近看了老九門,兩大男主角都是顏值擔當,我的朋友中有喜歡佛爺(陳偉霆),有的喜歡二爺(張藝興)。從我的朋友中發現更多人傾向於張藝興扮演的二爺,他們認為二爺(張藝興)是男1號。但是從出場次數和演員表排名佛爺(陳偉霆)都在二爺(張藝興)之前。我一直認為佛爺(陳偉霆)是主演,也讓我對這二位誰是主角產生的好奇,於是決定用R語言進行文本統計一下,證明誰是男1,誰是男2。目前關於R文本挖掘的方法已經有很多了,這裡再簡單介紹一下。進而論述結果。代碼如下:
#####首先,載入所需要的工具包
######注意rJava需要jdk環境
library(rJava) nlibrary(Rwordseg) nlibrary("RColorBrewer") nlibrary("wordcloud")n
##########接下來要自定義載入詞,因為二月紅並不是傳統意義的詞語,如果不單獨載入會被分成二月,紅。兩個詞。
##########載入方法有很多,本人選擇最簡單的載入單個詞語方法insertWords,deleteWords為刪除該詞
####insertWords("二月紅")
###deleteWords("二月紅")
#接下來就是正常的統計詞頻,小說數據在附件
myfile<-read.csv(file.choose(),header=FALSE)nmyfile.res <- myfile[myfile!=" "] nmyfile.words <- unlist(lapply(X = myfile.res,FUN = segmentCN))nmyfile.words <- gsub(pattern="http:[a-zA-Z/.0-9]+","",myfile.words)nmyfile.words <- gsub("n","",myfile.words) nmyfile.words <- gsub(" ","",myfile.words)nmyfile.words<-subset(myfile.words,nchar(as.character(myfile.words))>1)nmyfile.freq <- table(unlist(myfile.words)) nmyfile.freq <- rev(sort(myfile.freq)) nmyfile.freq <- data.frame(word=names(myfile.freq), freq=myfile.freq); nmyfile.freq2=subset(myfile.freq, myfile.freq$freq>=2) n
#####從統計結果,可以看出佛爺出現的次數的確大於二月紅
##將統計結果在畫出詞雲展現一下,目前詞雲的形狀可視化多種多樣,本人用最簡單的方式進行展現
#畫圖
mycolors <- brewer.pal(8,"Dark2") nwindowsFonts(myFont=windowsFont("華文彩雲")) nwordcloud(myfile.freq$word,myfile.freq$freq,min.freq=3,random.order=FALSE,random.color=FALSE,colors=mycolors,family="myFont")n
從可視化展現看出佛爺字體大小大於二月紅。
因此,從原著來講,佛爺為男1,二月紅為男2。
- 代碼部分.zip
- 老九門.zip
推薦閱讀:
※談談大數據公司到底是如何「坑」進局子里喝茶的
※大數據真的可以預測未來嗎?
※kali linux 2.0 web 滲透測試 電子書