服务热线
178 0020 3020
任务一:
library(RMySQL)
killDbConnections <- function () {
all_cons <- dbListConnections(MySQL())
print(all_cons)
for(con in all_cons)
+ dbDisconnect(con)
print(paste(length(all_cons), " connections killed."))
}
killDbConnections()
con <- dbConnect(MySQL(),host="localhost",dbname="rdb2",user="root",password="")
dbSendQuery(con,'SET NAMES utf8')
rs <- dbSendQuery(con, "SELECT * FROM article WHERE isdone=1")
words = data.frame(word=c(), freq = c())
while (!dbHasCompleted(rs)) {
+ chunk<-dbFetch(rs,10)
+ count<-nrow(chunk)
+ cnt=1
+ while (cnt<=count) {
+ str=gsub("[[:punct:]]", "", tolower(chunk[cnt,5]))
+ temp=as.vector(unlist(strsplit(str, split = " ")))
+ temp_len=length(temp)
+ cnt2=1
+ while (cnt2 <= temp_len) {
+ if(temp[cnt2] %in% words$word){words[words$word == temp[cnt2],]$freq = words[words$word == temp[cnt2],]$freq+1}
+ else{words = rbind(words,data.frame(word=c(temp[cnt2]),freq=c(1)))}
+ cnt2=cnt2+1
+ }
+ cnt=cnt+1
+ }
+ }
head(words)
任务二:
library(wordcloud2)
wordcloud2(words[0:1000,])
任务三:
new_words = words[order(words$freq,decreasing=T),]
del_word = c('of','the','and','in','to','a','that','is','for','buy','with','we','are','an','this','these','as','from','which','at','their','have','or','our','its','but','how','be','as','here','on','can','into','data','between','both','also','by')
words2 = words[which(!(words$word %in% del_word)),]
words2 = words2[order(words2$freq,decreasing=T),]
wordcloud2(words2)
附件