在tm DocumentTermMatrix中包含短令牌

时间:2012-02-09 06:26:17

标签: r tm

编辑:这是工作空间中的对象发生冲突并导致意外行为的问题。

我正在尝试使用以下代码从文档创建DocumentTermMatrix。该文档包含许多1和2个字符的标记。但是,即使最小字长设置为1个字符,结果矩阵也包含699个文档和0个术语。

library(tm)
data <- read.csv("http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data",header=FALSE)
data <- data[-1]

training_data <- as.vector(apply(as.matrix(data, mode="character"),1,paste,collapse=" "))
corpus <- Corpus(VectorSource(training_data))

matrix <- DocumentTermMatrix(corpus,control=list(wordLengths=c(1,Inf)))

尽管数据中有许多1和2个字符标记,但是有人可以解释为什么没有创建令牌吗?这是一个示例数据条目:

" 4  8  8  5  4 5 10  4  1 4"

1 个答案:

答案 0 :(得分:4)

我在Windows 7机器上运行了最新版本的R和tm中你给我的内容,并产生了你想要的结果(见下文)。我会尝试清除工作区,退出R和/或重新启动。

> library(tm)
> data <- read.csv("http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data",header=FALSE)
> data <- data[-1]
> 
> training_data <- as.vector(apply(as.matrix(data, mode="character"),1,paste,collapse=" "))
> corpus <- Corpus(VectorSource(training_data))
> 
> matrix <- DocumentTermMatrix(corpus,control=list(wordLengths=c(1,Inf)))
> matrix
A document-term matrix (699 documents, 11 terms)

Non-/sparse entries: 2899/4790
Sparsity           : 62%
Maximal term length: 2 
Weighting          : term frequency (tf)