#写在前面的话:此教程主要是用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. 【转载】java实现HTTP请求的三种方式

    目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现.HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,Ht ...

  2. Django F查询Q查询Only与Defel

    F/Q查询 测试表 from django.db import models # Create your models here. class MyCharField(models.Field): d ...

  3. package、folder和source folder的区别

    在用myeclipse工具开发java的过程中,新建目录时发现会有package,folder和source folder等不同类型的选项, 因此在网上搜集了一些资料:如下 以下文章转自:https: ...

  4. UIAutomator定位简介

    UIAutomator元素定位是 Android 系统原生支持的定位方式,虽然与 xpath 类似,但比它更加好用,且支持元素全部属性定位.定位原理是通过android 自带的android uiau ...

  5. CSS模块化思想-----命名是个技术活

    CSS模块化思想(一)--------命名是个技术活 引子: 女孩子都喜欢买衣服,而我也不例外,奈何钱包太瘦,买不起高大上的定制,只能买撞衫率极高的休闲衣,不过对于我来说,我还是开心的,毕竟买衣服买的 ...

  6. phpcms_完整版

    {pc:content action="category" catid="0" num="6" siteid="$siteid&q ...

  7. 阿里云 LAMP 使用基础

    产品亮点 1.基于阿里云CentOS7.2镜像 2.采用yum方式安装,软件安装均为默认目录,未作任何修改. 3.采用经典LAMP组合,拓展性强,资源丰富,解决方案较多 4.附带PhpMyadmin和 ...

  8. 从命令行配置 Windows 防火墙

    从命令行配置 Windows 防火墙 高级用户可以使用命令行来配置 Windows 防火墙.您可以使用 netsh 命令行工具来进行配置. 下表中的 netsh 命令可用于 Microsoft Win ...

  9. 洛谷 P2634 BZOJ 2152 【模板】点分治(聪聪可可)

    题目描述 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已 ...

  10. MySQL备份 博客---MYSQLDBA 黄杉

    http://blog.csdn.net/mchdba/article/category/1598781