标签: tm

找不到R函数row_sums和col_sums的文档

我试图解决我自己关于更改包中的tf-idf加权函数的问题tm:https://stackoverflow.com/questions/15045313/changing-tf-idf-weight-function-weight-not-by-occurrences-的长期的,但是按numbe

在这样做时,我正在查看weightTfIdf包含以下代码的函数m,即TermDocumentMatrix.

cs <- col_sums(m)
Run Code Online (Sandbox Code Playgroud)

rs <- row_sums(m)
Run Code Online (Sandbox Code Playgroud)

但我找不到任何有关功能的文件row_sumscol_sums; 当我尝试使用它们编写自己的加权函数时,我收到一个错误:Error in weighting(x) : could not find function "col_sums"

这些功能在哪里定义?

我已粘贴R下面的完整功能信息:

function (m, normalize = TRUE) 
{
    isDTM <- inherits(m, "DocumentTermMatrix")
    if (isDTM) 
        m <- t(m)
    if (normalize) {
        cs <- col_sums(m)
        if (any(cs == 0)) 
            warning("empty document(s): ", paste(Docs(m)[cs == 
                0], collapse = " "))
        names(cs) <- seq_len(nDocs(m))
        m$v <- m$v/cs[m$j]
    }
    rs …
Run Code Online (Sandbox Code Playgroud)

r tm

3
推荐指数
1
解决办法
3005
查看次数

R tm:巨大的DocumentTermMatrix,如何设置术语频率绑定以提取新的DTM

使用R tm,我有一个术语doc矩阵:

文档术语矩阵(16977术语,29414文档)

非稀疏条目:355000/499006478稀疏度:100%最大术语长度:7加权:术语频率(tf)

为了进一步分析,我必须将术语数限制为2425.

如何通过在例如20以上的频率中包含freq来生成新的dtm?

由于矩阵很大,传统的方法as.matrix不能应用.

谢谢!

r text-mining sparse-matrix bigdata tm

3
推荐指数
1
解决办法
3702
查看次数

R语料库正在弄乱我的UTF-8编码文本

我只是试图用俄语,UTF-8编码的文本创建一个语料库.问题是,tm包中的Corpus方法没有正确编码字符串.

这是我的问题的可重现的例子:

加载俄文文本:

> data <- c("Renault Logan, 2005","????????? ?????????, 345 ?²",
          "??-???","3-? ????????, 64 ?², 3/5 ??.","Samsung galaxy S4 mini GT-I9190 (??????)")
Run Code Online (Sandbox Code Playgroud)

创建一个VectorSource:

> vs <- VectorSource(data)
> vs # outputs correctly
Run Code Online (Sandbox Code Playgroud)

然后,创建语料库:

> corp <- Corpus(vs)
> inspect(corp) # output is not encoded properly
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

> inspect(corp)
<<VCorpus (documents: 5, metadata (corpus/indexed): 0/0)>>

[[1]]
<<PlainTextDocument (metadata: 7)>>
Renault Logan, 2005

[[2]]
<<PlainTextDocument (metadata: 7)>>
Ñêëàäñêîå ïîìåùåíèå, 345 ì<U+00B2>

[[3]]
<<PlainTextDocument (metadata: 7)>>
Ñó-øåô

[[4]]
<<PlainTextDocument (metadata: …
Run Code Online (Sandbox Code Playgroud)

encoding r utf-8 corpus tm

3
推荐指数
1
解决办法
8534
查看次数

tm在应用tm_map时丢失元数据

我对tm r库有一个(小)问题.说我有一个语料库:

# boilerplate
bcorp <- c("one","two","three","four","five")
myCorpus <- Corpus(VectorSource(bcorp), list(lanuage = "en_US"))
tdm <- TermDocumentMatrix(myCorpus)
Docs(tdm)
Run Code Online (Sandbox Code Playgroud)

结果:

[1] "1" "2" "3" "4" "5"
Run Code Online (Sandbox Code Playgroud)

这有效.但是当我尝试使用转换tm_map()时:

# this does not work
myCorpus <- Corpus(VectorSource(bcorp), list(lanuage = "en_US"))
myCorpus <- tm_map(myCorpus, tolower)
tdm <- TermDocumentMatrix(myCorpus)
Run Code Online (Sandbox Code Playgroud)

Error: inherits(doc, "TextDocument") is not TRUE
Run Code Online (Sandbox Code Playgroud)

在这种情况下提出的解决方案是转换为PlainTextDocument.

# this works but erase the metadata
myCorpus <- Corpus(VectorSource(bcorp), list(lanuage = "en_US"))
myCorpus <- tm_map(myCorpus, tolower)
myCorpus <- tm_map(myCorpus, PlainTextDocument)
tdm <- TermDocumentMatrix(myCorpus)
Docs(tdm)
Run Code Online (Sandbox Code Playgroud)

结果:

[1] "character(0)" "character(0)" …
Run Code Online (Sandbox Code Playgroud)

metadata r tm

3
推荐指数
1
解决办法
6670
查看次数

如何将稀疏或simple_triplet_matrix转换为tm-package文档术语矩阵而不通过Corpus/VCorpus,在R?

我有一个spsMatrix(库矩阵)或一个simple_triplet_matrix(库满贯)的docs x术语,例如:

library(Matrix)
mat <- sparseMatrix(i = c(1,2,4,5,3), j = c(2,3,4,1,5), x = c(3,2,3,4,1))
rownames(mat) <- paste0("doc", 1:5)
colnames(mat) <- paste0("word", 1:5)

5 x 5 sparse Matrix of class "dgCMatrix"
     word1 word2 word3 word4 word5
doc1     .     3     .     .     .
doc2     .     .     2     .     .
doc3     .     .     .     .     1
doc4     .     .     .     3     .
doc5     4     .     .     .     .
Run Code Online (Sandbox Code Playgroud)

要么:

library(slam)
mat2 <- simple_triplet_matrix(c(1,2,4,5,3), j = c(2,3,4,1,5), v = c(3,2,3,4,1),
                          dimnames = list(paste0("doc", 1:5), …
Run Code Online (Sandbox Code Playgroud)

r text-mining sparse-matrix tm

3
推荐指数
1
解决办法
1315
查看次数

闪亮的应用程序失败,"参数1(类型'封闭')无法由'猫'处理" - 这是什么意思?

我正在构建一个Shiny应用程序,它接受用户的文本输入,将最后两个单词与三元组的数据框进行比较,以预测最可能的下一个单词.在server.R下面,我试图ouptut的triPred函数的输出是一个单词.当我加载这个应用程序后,我在应用程序中键入一些文本后出现以下错误 - '参数1(类型'封闭')无法由'cat'处理 - 这似乎与server.R中的最后一行有关.这只是一个单词,我不清楚什么是'cat'失败,即连接.

server.R

library(stringr)

shinyServer(function(input, output) {

    triSplit <- function(input) {
            el <- unlist(str_split(input," "))
            bigram <- paste(el[length(el)-1],el[length(el)])
            return(bigram)
    }

    triPred <- function(input) {
            ## pulls out end words that match the input bigram
            temp_wf_T <- wf_T[wf_T$start == triSplit(input),]
            ##Picks one of the best options at random based on count
            ans <- sample(temp_wf_T$end[temp_wf_T$count == max(temp_wf_T$count)],1)
            return(ans) }

    ##Read in a dataframe of bigrams, their possible completions, and counts of occurence
    wf_T<-readRDS("C:/Users/LTM/DataScienceCertificateCapstone/ShinyTest/data/tdm.rds")
    ##Runs the triPred function to guess …
Run Code Online (Sandbox Code Playgroud)

r tm shiny

3
推荐指数
1
解决办法
8454
查看次数

如何删除R中没有大写字母的单词?

我在做使用R.文本分析有没有办法删除所有的话不是在盖使用tmstringi

如果我有这样的事情

Albert Einstein went to the store and saw his friend Nikola Tesla ... + 200 pags
Run Code Online (Sandbox Code Playgroud)

被转换成

Albert Einstein Nikola Tesla
Run Code Online (Sandbox Code Playgroud)

最好的祝福

r tm stringi

3
推荐指数
2
解决办法
521
查看次数

无法得到推文的纬度和经度值

我收集了一些推特数据:

#connect to twitter API
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)

#set radius and amount of requests
N=200  # tweets to request from each query
S=200  # radius in miles

lats=c(38.9,40.7)
lons=c(-77,-74)

roger=do.call(rbind,lapply(1:length(lats), function(i) searchTwitter('Roger+Federer',
                                                                lang="en",n=N,resultType="recent",
                                                              geocode=paste  (lats[i],lons[i],paste0(S,"mi"),sep=","))))
Run Code Online (Sandbox Code Playgroud)

在此之后我完成了:

rogerlat=sapply(roger, function(x) as.numeric(x$getLatitude()))
rogerlat=sapply(rogerlat, function(z) ifelse(length(z)==0,NA,z))  

rogerlon=sapply(roger, function(x) as.numeric(x$getLongitude()))
rogerlon=sapply(rogerlon, function(z) ifelse(length(z)==0,NA,z))  

data=as.data.frame(cbind(lat=rogerlat,lon=rogerlon))
Run Code Online (Sandbox Code Playgroud)

现在我想获得所有具有long和lat值的推文:

data=filter(data, !is.na(lat),!is.na(lon))
lonlat=select(data,lon,lat)
Run Code Online (Sandbox Code Playgroud)

但是现在我只获得了NA值....对这里出了什么问题的任何想法?

r text-mining tm

3
推荐指数
1
解决办法
1453
查看次数

在R中的Wordcloud中将所有单词变为大写

创建Wordclouds时,最常见的做法是将所有单词都小写。但是,我希望wordclouds将单词显示为大写。强制单词为大写字母后,wordcloud仍显示小写单词。有什么想法吗?

可复制的代码:

    library(tm)
    library(wordcloud)

data <- data.frame(text = c("Creativity is the art of being ‘productive’ by using
          the available resources in a skillful manner. 
          Scientifically speaking, creativity is part of
          our consciousness and we can be creative –
          if we know – ’what goes on in our mind during
          the process of creation’.
          Let us now look at 6 examples of creativity which blows the mind."))

text <- paste(data$text, collapse = " ")

# I am using toupper() to force …
Run Code Online (Sandbox Code Playgroud)

r text-mining word-cloud tm

3
推荐指数
1
解决办法
768
查看次数

readTabular()函数在最新版本的tm中消失了.我们使用什么作为它的替代品?

tm0.7-1版本中,有一个readTabular()功能.现在它消失了,如果你试图使用它,就没有弃用消息或警告或任何东西,就像你可能合理期望的那样.它刚刚消失了.在遥远的过去(4天前),它可以像:

library(tm)

myReader <- tm::readTabular(mapping=list(id="id", content="content"))
cor <- tm::VCorpus(tm::DataframeSource(dt), readerControl = list(reader = myReader))
Run Code Online (Sandbox Code Playgroud)

那么你如何在tm0.7-2 的最新版本中做同样的事情呢?

PS:我认为最新版本大约在4天前发布,但很难从回购新闻部分看出来,这似乎有一个讨厌的格式错误或其他东西.此外,我认为readTabular在2009年被引入为"实验性".不知道为什么它被删除,如果有人可以在回购中找到任何解释,请发布链接. 这是readTabular的文档.

r tm

3
推荐指数
1
解决办法
1755
查看次数

标签 统计

r ×10

tm ×10

text-mining ×4

sparse-matrix ×2

bigdata ×1

corpus ×1

encoding ×1

metadata ×1

shiny ×1

stringi ×1

utf-8 ×1

word-cloud ×1