我有一个小语料库,例如
myvec <- c("n417", "disturbance", "grand theft auto", "assault", "burglary",
"vandalism", "atmt to locate", "drug arrest", "traffic stop",
"larceny", "graffiti complaint / reporting")
corpus <- VCorpus(VectorSource(myvec))
如果我想让语料库变大 10 倍,我该如何做才能使结果变量是 VCorpus 而不是列表?
尝试过:
corpus <- replicate(10, corpus) # returns a list
corpus <- VCorpus(replicate(10, corpus)) # Error: inherits(x, "Source") is not TRUE
corpus <- c(corpus, corpus, corpus, corpus, corpus, corpus, corpus) # works, returns a corpus 7 times bigger but involves lots of typing)
如果我有一个小语料库,并且为了示例目的我想将其扩大十倍,我该怎么做?
最佳答案
复制后我们可以将 do.call
与 c
一起使用
library(tm)
do.call(c, rep(list(corpus), 7))
# <<VCorpus>>
#Metadata: corpus specific: 0, document level (indexed): 0
#Content: documents: 77
与复制
类似
do.call(c, replicate(7, corpus, simplify = FALSE))
#<<VCorpus>>
#Metadata: corpus specific: 0, document level (indexed): 0
#Content: documents: 77
这里使用replicate
不需要simplify = FALSE
do.call(c, replicate(7, corpus))
#<<VCorpus>>
#Metadata: corpus specific: 0, document level (indexed): 0
#Content: documents: 77
关于r - c 使用rep或replicate或类似的语料库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45913283/