Cet article peut exister dans l'esprit pendant plusieurs mois. Les personnes les plus démarrées lisent "Cadeau de la fin de la Saint-Valentin: être une conversation sur son Wechat", je pense que l'auteur est très intéressant. A cette époque, j'ai commencé à apprendre à la langue pour la raison. Je n'y pensais pas. Utilisez simplement R pour apprendre la même analyse, il devrait être récolté. J'ai donc commencé à analyser le dossier de chat Wechat de mon petit ami, mais comme l'auteur d'origine a dit quoi faire, qu'en est-il de la Saint Valentin? Quoi qu'il en soit, aujourd'hui est de payer ses devoirs.
http://weixin.qq.com/r/fknyysxe7jitryeb9xye (code QR d'identification automatique)
Premièrement, obtenez des données sources ]
Premier "cadeau de la Saint-Valentin de la Saint-Valentin: devenue un chat nuage de mots avec WECHAT" Vous avez écrit très avant tout, je suis pleinement suivi des étapes de l'article original. Cependant, ici, je vous donnerai deux conseils: (1) Il y a beaucoup de plasmaI Software ou Stratégies Différents extraites WECHAT Records, chaque version Mac n'est pas bonne, ne peut enfin être extraite avec succès.
(2) Imaduré, assurez-vous de télécharger authentique, je suis dû au malentendu, de détruire presque le téléphone, et maintenant des téléphones mobiles se sentent encore un peu mauvais (séquelles). Ce logiciel est fort, avec des mots méchants, iPhone, briques.
lundi
library(RSQLite)library(plyr)//连接SQLitle数据库conn <- dbConnect(dbDriver("SQLite"), dbname="MM.sqlite")//设置连接函数doCountQuery <- function(conn,table){ query <- paste("SELECT COUNT(name) FROM ",table,sep ="") t <- dbGetQuery(conn,query) return(t)}table_name <- dbGetQuery(conn, "SELECT name FROM sqlite_master where type='table' and name like 'Chat_%' order by name")//取出所有表名,由于不会遍历,只能按照最笨的办法,计算哪个表的数据量最多,即是和男盆友的聊天记录表,如果不是和男盆友的聊天表,此方法是找不出来counts <- numeric(0)for (i in 1:length(table_name) ){ count <- doCountQuery(conn,table_name[i]) counts[i] <-count[1] }//计算表长table_count <- data.frame(counts)//排序,表长最大的表,即是和男朋友的聊天记录表table_count1 <- table_count[order(table_count$counts,decreasing=TRUE),]//提取到聊天内容message <- dbGetQuery(conn, "SELECT * FROM Chat_XXXXXXXXXX ")
Plus tard lorsque les données est d'effectuer le segment de texte, en raison de la très grande quantité de données, mon ordinateur est exécuté plusieurs fois. Après cela, je ne comprends pas, je ne sais pas comment résoudre, comptez sur certains codes et certains Excel pour se convertir, je suis le résultat du résultat souhaité.
Mardi
library(jiebaRD)library(jiebaR)library(data.table)library(stringr)cutter=worker()wechat_content =messagewechat_content <- as.character(wechat_word$V1)///由于数据量过大,不知道为什么只用cuter无法把所有数据都遍历到,无奈只能写简单的函数每一条遍历切割cut_y <- function (y){ y=gsub("\\.","",y) cutter[as.character(y)]}//遍历切割每一条聊天内容y.out <- sapply(wechat_content,cut_y,USE.NAMES = F)//去除数字y.out<-gsub("[0-9]+?","",y.out)// 去除停止词s <- read.csv(“stopwords.csv“)stopwords <- c(NULL)for (i in 1:length(s)){ stopwords[i] <- s[i]}y.out <- filter_segment(y.out,stopwords)//遍历计数后再组合到一起wechat_content_whole <- as.array(0)for (i in 1:length(y.out)){ table_content <- count(y.out[i]) wechat_content_whole <- rbind(wechat_content_whole,table_content)}//最后计数wechat_content_whole <- count(wechat_content_whole,"x")//从大到小排列wechat_content_whole<- wechat_content_whole[order(wechat_content_whole$freq,decreasing=TRUE),]//提取前1000条做词云wechat_words_final <- table_content_whole_final[1:1000,]//颜色从粉到白函数clufunc <- colorRampPalette(c("pink","white"))//形成词云 wordcloud2(wechat_words_final, fontFamily = "HYTangTangCuTiJ", figPath = "love.jpg", size=1, color=clufunc(1000))
.
Cette analyse a gagné un total de trois mois à partir des enregistrements de chat , Total des données de données 34442, 170 000 points, la peinture suivante est le nuage de 1000 d'abord très extraite. Certaines autres choses ont été trouvées dans le processus: "MA enseignante" Ce mot est répété Ce n'est pas un enseignant du tuteur, ce n'est pas une tentation de maîtriser, des professeurs de fantômes, d'entrer dans De plus, dans le contenu Notre conversation, dix grandes émoticônes les plus couramment utilisées sont vraiment: ] Choisissez beaucoup, il semble que nous soyons très agréables les uns avec les autres, mais la colère est très nombreuse? De plus, j'ai également choisi mes antécédents de discussion et j'ai fait l'image ci-dessous. L'argument entre les amants est probablement petit, pas de sentimentSûr, refusé de parler mutuellement de faire mal à tout le monde. 4 Cette fois, un petit travail d'apprentissage perdu et le choix final est tiré. Le processus d'analyse réel est douloureux. D'une part, nous devons apprendre beaucoup de grammaire. D'autre part, des enregistrements de discussion ouverts comme attirant votre propre viande, rappelant des scènes, un bonheur et une tristesse. Il y a une confusion, un manque de connaissances en académique et l'amour, heureusement, nous allons toujours ensemble. Cette petite analyse est également le point de départ, rassemble dans la langue R au cours de ces mois. Je ne m'attends pas au début du chemin de brûler l'enthousiasme de R. Le processus d'apprentissage, contrairement aux cours d'école, presque tous souhaitent déployer une fonction, je trouverai donc une syntaxe, trouvez plus de connaissances, de contacts, de contacts et enfin à Stroning . N'oubliez pas que le paquet Rava Rava ne peut d'abord pas êtreInstaller sur mon ordinateur. Après que Google tourne toutes les questions, Stackoverflow est devenu la plus grande bulle, loin du Royaume-Uni, aide également à répondre. Chaque fois que j'ai ajusté continuellement le code, je suis arrivé tard dans la matinée, mais j'étais très heureux quand je suis ajusté. renvoyé, ce petit exercice est très simple, mais il a appris la majeure partie de la grammaire de base dans le R. Bien que l'algorithme du milieu soit encore très désordonné, au moins, il est fier de vous-même. Maintenant, vous pouvez utiliser GGPLOT pour dessiner un graphique agréable, pas mille Excel. Bien sûr, s'il y a un grand dieu pour sauver mes algorithmes salissants, Bienvenue à des didacticiels d'apprentissage et espérons que le prochain projet d'apprentissage peut partager et explorer des choses plus intéressantes. Cet article est copié partagé, si ce qui concerne les travaux, les droits d'auteur et d'autres problèmes, veuillez nous contacter pour la première fois de suppression (microchirurgie: LOVEDATA0520)