#写在前面的话:此教程主要是用R连接了DB2数据库,并进行文本分析,制作了词图

#教程为markdown编写

---
title: "网站留言分析"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo=FALSE,error=FALSE,warning=FALSE,message = F,comment="")
```

```{r}
#连接数据库并读取数据
library(RODBC)
options(scipen=200)
conn = odbcConnect(dsn="DB2",uid="tjfx","1")
myfile<-sqlQuery(conn,"select * from T_from_last_year_liuyan")
myfile<-myfile[,4]
#head(myfile)

#调入分词的库

library("rJava")

library("Rwordseg")

#调入绘制词云的库

library("RColorBrewer")

library("wordcloud")

#预处理,这步可以将读入的文本转换为可以分词的字符,没有这步不能分词

myfile.res <- myfile[myfile!=" "]
```
```{r,echo=F,error=FALSE,warning=FALSE,message = F,comment="",results='hide'}
#载入语料库,搞好词库后,用下面的语句就可以装入内存:
installDict("ciku.txt",dictname = "my dict")
```
```{r}
#查看装载的词典:

#listDict()

#删除安装的词典:

#as.charecter
myfile.res<-as.character(myfile.res)
#分词,并将分词结果转换为向量

myfile.words <- unlist(lapply(X = myfile.res,FUN = segmentCN))

#剔除URL等各种不需要的字符,还需要删除什么特殊的字符可以依样画葫芦在下面增加gsub的语句

myfile.words <- gsub(pattern="http:[a-zA-Z\\/\\.0-9]+","",myfile.words)

myfile.words <- gsub("\n","",myfile.words)

myfile.words <- gsub(" ","",myfile.words)

#去掉停用词

data_stw=read.table(file="mystopword.txt",colClasses="character")

stopwords_CN=c(NULL)

for(i in 1:dim(data_stw)[1]){

stopwords_CN=c(stopwords_CN,data_stw[i,1])

}

for(j in 1:length(stopwords_CN)){

myfile.words <- subset(myfile.words,myfile.words!=stopwords_CN[j])

}

#过滤掉1个字的词

myfile.words <- subset(myfile.words, nchar(as.character(myfile.words))>1)
#统计词频

myfile.freq <- table(unlist(myfile.words))

myfile.freq <- rev(sort(myfile.freq))

myfile.freq <- data.frame(word=names(myfile.freq), freq=myfile.freq)

#按词频过滤词,过滤掉只出现过一次的词,这里可以根据需要调整过滤的词频数

myfile.freq2=subset(myfile.freq, myfile.freq$freq>=5)

#绘制词云

#设置一个颜色系:

mycolors <- brewer.pal(8,"Dark2")

#设置字体

windowsFonts(myFont=windowsFont("微软雅黑"))

#画图
set.seed(123)

wordcloud(myfile.freq2$word,myfile.freq2$freq,random.order=FALSE,

random.color=FALSE,colors=mycolors,family="myFont")

write.table(myfile.freq2,row.names=F,quote = FALSE )

#结果图:

输出的词频文档删除了行号,详见代码:

R 连接DB2数据库,并制作词图的更多相关文章

  1. R 连接DB2数据库

    1.odbc文件下载 教程: http://dasapp.oregon.gov/datamart/files/IBM_DB2_9.7_Run_Time_client_Notes.pdf 驱动地址: h ...

  2. 连接db2数据库时NumberFormatException异常的解决方式

    连接db2数据库时报异常:java.lang.NumberFormatException: For input string: "A" from a DB2 JDBC(JCC) j ...

  3. c#连接db2数据库

    .net项目要连接db2数据库,是要安装客户端的,否则是连接不上的: 若出现“未在本地计算机上注册‘ibmdadb2’提供程序” 解决办法: 1.先找到安装后的ibmdadb2.dll文件复制到c:\ ...

  4. 远程连接db2数据库

    在db2数据库中,需要理解catalog(编目)这个概念,理解前先说下db2数据库的体系结构:由系统(节点)也就是主机,下面是实例,实例下面是数据库,然后是表空间,再是数据库对象.现在假设你有一个数据 ...

  5. R连接mysql数据库方法详解

    Warning messages: 1: In odbcDriverConnect("DSN=Rdata;UID=root") : [RODBC] ERROR: state IM0 ...

  6. 使用开源数据库客户端DBeaver连接DB2数据库

    下载安装 首先进入 官网 选择对应的版本进行安装. 下载下来后,一直惦记next即可完成安装(期间包括选择文件安装路径等操作,可按需修改). 连接db2 打开DBeaver,新建连接-->DBe ...

  7. jsp连接MYSQL数据库教程(文字+图)

    步骤: 1.在mysql官网下载JDBC驱动程序.网址:https://dev.mysql.com/downloads/connector/j/ 2.把里面的jar包(mysql-connector- ...

  8. R 连接mysql数据库

    一.配置RODBC 1.R下载RODBC包,安装好.2.在http://dev.mysql.com/downloads/connector/odbc下载mySQL ODBC,安装好.3.windows ...

  9. 连接db2数据库出现No buffer space available (maximum connections reached?)

    Caused by: javax.naming.NamingException: [jcc][t4][2043][11550][3.57.82] 异常 java.net.SocketException ...

随机推荐

  1. 【转载】Servlet中的request与response

      一.HttpServletRequest概述   1.1.HttpServletRequest简介 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时, ...

  2. eas之去掉关闭eas页面时校验是否修改的提示

    EditUI-------> public boolean checkBeforeWindowClosing() {            boolean b = super.checkBefo ...

  3. 【双系统】windows 和 Ubuntu 双系统安装

      本博客主要讲述如何在已安装windows系统的计算机上安装Ubuntu双系统,涉及系统安装和相应磁盘空间分配等问题. 所需环境: 电脑已安装windows系统 下载Ubuntu16.04系统镜像 ...

  4. 在win7下,easyphp安装过程中MSVCR110.DLL没有被指定在WINDOWS上运行,或者它包含错误

    这是安装easyphp后启动时出现的错误界面.查网上一大堆说法,基本上p用没有.真正解决的办法去m$站点 http://www.microsoft.com/zh-CN/download/details ...

  5. 【ZOJ 4067】Books

    [链接] 我是链接,点我呀:) [题意] [题解] 统计a中0的个数cnt0 然后m减去cnt0 因为这cnt0个0是一定会取到的. 如果m==0了 那么直接找到数组中的最小值mi 输出mi-1就好 ...

  6. 【ACM】hdu_1170_Balloon Comes!_201307261946

    Balloon Comes!Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  7. ExpressionTreeVisualizer

    看表达式的工具,这个工具后来微软不更新了,只支持到VS2013 表达式树的语法难度太大,语法和实现难度都大 相关文章 github地址

  8. mongodb-replication set 复制集

    推荐一篇mongodb集群的博客 replication set 多台服务器维护相同的数据副本,提高服务的可用性 1.启动3个实例,且声明属于某复制集 mongod --port 27017 --db ...

  9. [bzoj1500][NOI2005]维修数列_非旋转Treap

    维修数列 bzoj-1500 NOI-2005 题目大意:给定n个数,m个操作,支持:在指定位置插入一段数:删除一个数:区间修改:区间翻转.查询:区间和:全局最大子序列. 注释:$1\le n_{ma ...

  10. CODEVS——T 1297 硬币

    http://www.codevs.cn/problem/1297/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Descrip ...