R 连接DB2数据库,并制作词图

#写在前面的话:此教程主要是用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 )

#结果图:

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

时间: 2024-11-06 14:34:31

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

R 连接DB2数据库

1.odbc文件下载 http://dasapp.oregon.gov/datamart/files/IBM_DB2_9.7_Run_Time_client_Notes.pdf 打开:http://dasapp.oregon.gov/datamart/ 下载驱动,并安装. 配置odbc,刚开始按教程,在odbc里并没有找到db2 driver 后面在C:\Windows\SysWOW64 下搜索ODBC,找到这个: 打开后按教程配置即可. 配置还参考:http://xujingli88.blog

远程连接db2数据库

在db2数据库中,需要理解catalog(编目)这个概念,理解前先说下db2数据库的体系结构:由系统(节点)也就是主机,下面是实例,实例下面是数据库,然后是表空间,再是数据库对象.现在假设你有一个数据库服务器建立在MDMNODE1 的机器上,你有一个客户端在windows.linux或任何平台上,你现在想建立一个客户端到服务器端的连接,具体步骤如下: <第一步> 要在客户端的机器上能够把远程的服务器能够识别出来,怎么做? 在DB2使用编目(catalog)方式,具体来说就是通过编目把远程的服务

R连接mysql数据库方法详解

Warning messages: 1: In odbcDriverConnect("DSN=Rdata;UID=root") : [RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 当R语言从数据库取出数据时,出现以上错误,这是由于未配置ODBC数据源引起的错误,以下将介绍该问题的解决方案,同时介绍R连接mysql数据库的方法一.配置ODBC数据源1.下载m

c#连接db2数据库

.net项目要连接db2数据库,是要安装客户端的,否则是连接不上的: 若出现“未在本地计算机上注册‘ibmdadb2’提供程序” 解决办法: 1.先找到安装后的ibmdadb2.dll文件复制到c:\windows\system32或syswow64下 然后在运行中输入 regsvr32 ibmdadb2.dll,注册成功 2.要是在64位系统上安装的是32位的db2数据库,则在vs2010调试平台上改成x86 ,否则还是会出现这个错误

VBS连接DB2数据库

VBS连接数据库,参考了点资料 '建立连接Dim Cnn '定义数据库连接串 Set Cnn = CreateObject("ADODB.Connection") sql="DSN=*;DATABASE=*;PWD=*;SERVER=*;UID=*"Cnn.ConnectionString = sqlCnn.Open '打开数据库连接 If Cnn.State <> 0 Then '判断数据库连接是否成功 WScript.echo "数据库连接

R 连接mysql 数据库

一些常用的数据,处理好,放在mySQL里,以后使用起来也方便.可以用R直接进行分析,具体步骤如下:1.R下载RODBC包,安装好.2.在http://dev.mysql.com/downloads/connector/odbc下载mySQL ODBC,安装好.3.windows:控制面板->管理工具->数据源(ODBC)->双击->添加->选中mysql ODBC driver一项填写:data source name 一项填入你要使用的名字,自己随便命名,例如:mysql_

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

Caused by: javax.naming.NamingException: [jcc][t4][2043][11550][3.57.82] 异常 java.net.SocketException:打开端口 50,000 上服务器 localhost/127.0.0.1 的套接字时出错,消息为:No buffer space available (maximum connections reached?): connect. ERRORCODE=-4499, SQLSTATE=08001 数

websphere环境中修改JDBC连接DB2数据库的隔离级别

* web项目框架 Struts2.3.24.3,spring,jdbcTemplate 数据库:db2 webserver: websphereV8.5 场景:开发时用tomcat,如果锁表后,再update,会出现DeadlockLoserDataAccessException,捕获异常后,tomcat正常: 然而发布到websphere后,deadlock or timeout, 发现问题不是在update上,而是锁了表后,对表的select操作造成的: 解决方法: 1,进入websphe

命令行连接db2数据库

在cmd界面执行db2cmd命令 然后在db2cmd界面执行db2命令 然后执行 CONNECT TO UIBS USER DB2INST1 USING 123456命令