使用stringdist

时间:2017-07-04 06:47:28

标签: r text-mining

我在R中有一个文件名列表。我必须聚类类似的文件名。为此,我使用stringdistmatrix来查找每个字符串之间的距离。我有字符串距离,但我很难将它们分成簇。到目前为止,我的方法相当简单,我使用2 for循环来遍历整个字符串距离矩阵。因此,对于小于5的每个距离,我将其列名放在列表中,并将行的其余部分的距离设置为NA。当我在for循环中执行此操作时,运行一次需要将近15分钟。有没有更快的方法呢? 这就是我到目前为止所做的事情:

kpm <- stringdistmatrix(unique(dat1$name),useNames="strings",method="lv")
kpm <- data.matrix(as.matrix(kpm))
i<-1
j<-1
v<-1
vec<-list()
l<-1
lt<-NULL
while(i<=nrow(kpm)){
  l<-1
  j<-1
  while(j<=ncol(kpm)){

    if(kpm[j][1]>=0 & kpm[j][1]<=8){

      lt[l]<-colnames(kpm)[j]
      l<-l+1
      kpm[j][]<-NA

    }
    j<-j+1
  }
  i<-i+1
  if(length(lt)>1){
    vec[[v]]<-lt
    lt<-NULL
    v<-v+1
}
}

0 个答案:

没有答案