我正在使用 SQL 和 R 开发文本挖掘解决方案。
首先,我从 SQL 选择中将数据导入 R,然后用它进行数据挖掘。
这是我得到的:
rawData = sqlQuery(dwhConnect,sqlString)
a = data.frame(rawData$ENNOTE_NEU)
如果我做一个
a[[1]][1:3]
你会看到结构:
[1] lorem ipsum li ld ee wö wo di dd
[2] la kdin di da dogs chicken
[3] kd good i need some help
现在我想用我自己的字典进行一些数据清理。
一个例子是替换li with 洛雷姆·伊普苏姆 and kd也kdin with kunde
我的问题是如何对整个数据框执行此操作。
for(i in 1:(nrow(a)))
{
a[[1]][i]=gsub( " kd | kdin " , " kunde " ,a[[1]][i])
a[[1]][i]=gsub( " li " , " lorem ipsum " ,a[[1]][i])
...
}
有效,但对于大量数据来说速度很慢。
有更好的方法吗?
为船长喝彩
gsub
是矢量化的,所以你不需要循环。
a[[1]] <- gsub( " kd | kdin " , " kunde " , a[[1]])
更快。
另外,您确定要在正则表达式中添加空格吗?这样您就不会匹配行首或行尾的单词。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)