[关闭]
@stike 2017-07-16T15:19:53.000000Z 字数 1086 阅读 229

R语言学习问题记录 - 第一周

R语言学习 TM包文本


r学习32群 无心

QQ聊天记录读取后格式化 - 基础处理部分

  1. library(stringr)
  2. qq_records <- scan(file="d:/UI设计.txt",what="",sep="\n",encoding="UTF-8")
  3. position_user <- which(grepl('^[0-9]+[-]+[0-9]+[-]+[0-9]+[[:space:]]+[0-9]+[:]+[0-9]+',qq_records)==T)
  4. qq_data<-list()
  5. k=1
  6. for(i in 0:(length(position_user)-2)){
  7. qq_data[k]<-list(paste0(qq_records[(position_user[1+i]):(position_user[2+i]-1)],collapse=';'))
  8. k<-k+1
  9. }
  10. data.frame(str_split(qq_data,";",simplify = TRUE,n=2),stringsAsFactors = F) -> qq_data

遇见的问题 - 排序函数

在R语言中,用于排序的函数有三个:sort() | order() | rank()

三者的区别如下:

函数 用途
sort() 返回排序后的向量数值
order() 返回向量对应的排序后位置
rank() 返回的是每个向量的"排名"

排序应用例子: 根据test数据框的第二列倒序排序数据框

  1. test[order(test[,2],decreasing = T),] -> test

TM包常用函数

语料库搭建 - 根据向量:

  1. Corpus(VectorSource(data)) -> corpus_1

语料库搭建 - 根据文件目录

  1. txt <- system.file("d:/texts", "txt", package = "tm") # 将d:\texts目录加入到txt变量
  2. corpus_1 <- Corpus(DirSource(txt)) #根据目录建立语料库

基础处理:

  1. dtm <- DocumentTermMatrix(x)
  2. tdm <- TermDocumentMatrix(x)

语料库词频统计:

  1. findFreqTerms(x,1,50) #统计语料库x中词频高于1小于50的单词并打印,需先转成dtm或tdm矩阵
  2. findMostFreqTerms(x,n = 2) #打印X语料库中每条语料词频最高的2个词,需先转成dtm或tdm矩阵

语料库关联挖掘

  1. findAssocs(x,"keyword",0.1) #打印语料库x中与关键“keyword”相关性最高的内容,相关性最低要求在0.1以上。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注