【发布时间】:2016-11-20 02:10:50
【问题描述】:
我正在尝试从字符串创建一个 dfm 字母。当 dfm 无法选择可以为“/”“-”“”等标点符号创建功能时,我遇到了问题。或'。
require(quanteda)
dict = c('a','b','c','d','e','f','/',".",'-',"'")
dict <- quanteda::dictionary(sapply(dict, list))
x<-c("cab","baa", "a/de-d/f","ad")
x<-sapply(x, function(x) strsplit(x,"")[[1]])
x<-sapply(x, function(x) paste(x, collapse = " "))
mat <- dfm(x, dictionary = dict, valuetype = "regex")
mat <- as.matrix(mat)
mat
- 对于“a/de-d/f”,我也想捕获字母“/”“-”
- 为什么是“。”作为 rowsum 的特征。如何将其保留为单独的功能?
【问题讨论】:
-
喜欢
tokens <- tokenize(x, what = "character"); mat <- dfm(tokens, dictionary = dict, valuetype = "fixed")?在正则表达式(“regex”)中,.代表任何字符。 -
谢谢。这正是我想要的。