【问题标题】:Questios about Specific code of R in text mining and seeking some suggestions关于文本挖掘中R的具体代码的问题并寻求一些建议
【发布时间】:2014-06-09 06:05:37
【问题描述】:

我最近正在尝试进行文本挖掘并查看代码,我了解它试图对文本执行的操作的全貌。

但问题出在代码的某些特定部分,我不知道为什么格式是这样的,以及参数是什么。那么你们对R语言的参考资料或书籍有什么建议,以便我可以检查这个函数的用途以及这个函数中参数的解释?

以下是做文本挖掘的几个问题,如果你们也能帮忙解答,不胜感激:)

1)

cand=c("Romney","Obama")
tdm<-list(name=cand,tdm=s.tdm)     #s.tdm is TermDocumentMatrix of a text.
tdm.dm<-t(data.matrix(tdm[["tdm"]]))

我的问题是:为什么在将 termDocumentMatrix 转换为矩阵时,我们需要在第三行中添加两个“[]”

2)

filepath<-"C:/e"
cor.score<-if(length(grep("http|html",filepath))){cor.score<-Corpus(URISource(filepath))}else{score.cor <- generateSpeechDocCorpus(filepath)}

这句话是想查看文件路径是否是URL,我理解使用“grep”来检查文件路径是否有字符串“http”或“html”,但是为什么我们需要在grep之外的句子“length”?我很困惑。 AND 对于代码中的最后一项:

generateSpeechDocCorpus(filepath),

我也可以用

Corpus(DirSource(directory=filepath,encoding="ANSI"))

达到同样的目的。那么generateSpeechDocCorpus和Corpus有什么区别呢?

【问题讨论】:

标签: r text mining


【解决方案1】:

(1) 在这里得到了很好的回答:The difference between [] and [[]] notations for accessing the elements of a list or dataframe

对于 (2),它只是一种速记方式 - 将grep 的输出转换为可由if 评估的逻辑的多种可能性之一。

> grep("a", "car")
[1] 1
> grep("a", "bbb")
integer(0)

grep 类似于which,它返回匹配的索引。如果没有匹配,它返回一个“空”向量。 if 语句只是想检查是否有任何 URL。 No URLs表示grep返回integer(0),长度为0,如果需要为logical,0转换为FALSE

> as.logical(0)
[1] FALSE
> as.logical(1)
[1] TRUE
> as.logical(7)
[1] TRUE 

【讨论】:

    猜你喜欢
    • 2011-05-04
    • 2011-04-26
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 2018-05-04
    • 2017-04-10
    相关资源
    最近更新 更多