R语言中的嵌套for循环

R语言中的嵌套for循环,r,twitter,sentiment-analysis,R,Twitter,Sentiment Analysis,我有这段代码,可以使用余弦相似性计算数据帧中的重复,通过first:first loop(nrow)每次接收一条tweet的次数,然后将余弦相似性结果与使用第二个loop的其他tweet进行比较 这是我的密码: for (i in 1:nrow(temp)) { dup=0 one_Tweets = tweets$Tweet[i] cos_similarity = data.frame("v1"=NULL) # NULL So that don't write previous va

我有这段代码,可以使用余弦相似性计算数据帧中的重复,通过first:first loop(nrow)每次接收一条tweet的次数,然后将余弦相似性结果与使用第二个loop的其他tweet进行比较

这是我的密码:

for (i in 1:nrow(temp)) {
  dup=0
  one_Tweets = tweets$Tweet[i]
  cos_similarity = data.frame("v1"=NULL) # NULL So that don't write previous value
  cos_similarity=data.frame(sim <- round( sim.strings(AllTweets,one_Tweets), digits = 3) )
  names(cos_similarity) = c( "v1")

  for (b in i+1:nrow(temp)) {
    Tweet_cos=cos_similarity$v1[b]
    if ( Tweet_cos >= 0.900) {
      count = count+1
      tweets$flag[b]= 1
    }else { #if ( Tweet_cos <0.900) {
      tweets$flag[b]= 2
    }
    Tweet_cos=0
  }
  dup=tweets$duplicate[i]= tweets$duplicate[i]+count 
  count = 0
}

我还没有代表把它放在评论,但我认为你得到这个问题,因为NA/NULL在Tweet_cos向量。要调试,请从代码中删除此部分:

    for (b in i+1:nrow(temp)) {
    Tweet_cos=cos_similarity$v1[b]
    if ( Tweet_cos >= 0.900) {
      count = count+1
      tweets$flag[b]= 1
    }else { #if ( Tweet_cos <0.900) {
      tweets$flag[b]= 2
    }
    Tweet_cos=0
  }
  dup=tweets$duplicate[i]= tweets$duplicate[i]+count 
  count = 0
用于(i+1中的b:nrow(温度)){
Tweet\u cos=cos\u相似性$v1[b]
如果(Tweet_cos>=0.900){
计数=计数+1
tweets$flag[b]=1

}else{#if(Tweet_cos我还没有rep将其放在评论中,但我认为您遇到了这个问题,因为Tweet_cos向量中的NA/NULL。要调试,请从代码中删除此部分:

    for (b in i+1:nrow(temp)) {
    Tweet_cos=cos_similarity$v1[b]
    if ( Tweet_cos >= 0.900) {
      count = count+1
      tweets$flag[b]= 1
    }else { #if ( Tweet_cos <0.900) {
      tweets$flag[b]= 2
    }
    Tweet_cos=0
  }
  dup=tweets$duplicate[i]= tweets$duplicate[i]+count 
  count = 0
用于(i+1中的b:nrow(温度)){
Tweet\u cos=cos\u相似性$v1[b]
如果(Tweet_cos>=0.900){
计数=计数+1
tweets$flag[b]=1

}否则{#如果(Tweet#cos)尝试
summary(temp)
查看Tweet#cosin环境Tweet#cos value=NA#real#中是否有
NA
值,使用summary(temp)后我会看到值查看结果:
summary(Tweet#cos)最小第一个曲中位数平均第三个曲中位数最大NA NA NA NA NA NA NA NA NA 1
注意一个事实,即
i+1:nrow(temp)
(i+1):nrow(temp)
i在
k=i+1
之外添加了循环,然后我为(k:nrow(temp))编写了循环条件
此解决循环问题尝试
summary(temp)
查看Tweet\u cosin环境Tweet\u cos value=NA\u real\u中是否有
NA值,使用summary(temp)后我看到值请查看结果:
summary(Tweet\u cos)最小第一个曲中位数平均第三个曲中位数最大NA NA NA NA NA NA NA NA NA 1
注意一个事实,即
i+1:nrow(temp)
(i+1):nrow(temp)
i在
k=i+1
之外添加了循环,然后我为(k:nrow(temp))编写了循环条件
此解决循环问题我删除此部分并打印cos_相似度$V1..结果:
[2205]0.489 0.615 0.699 0.649 0.616 0.757 0.603 0.666 0.669 0.616 0.716 0.658 0.649 0.682 0.740 0.578 0.696 0.661 0.719[2224]0.737 0.734 0.631 0.724 0.721 0.690 0.544 0.645 0.617 0.618 0.586 0.600 0.539 0.594 0.716 0.637 0.674 0.699 0.582
我删除此部分并打印cos_相似性$V1..结果:
[2205]0.489 0.615 0.615 0.699 0.649 0.616 0.757 0.603 0.666 0.669 0.616 0.716 0.658 0.680.620.710.620.719[2205]0.737 0.734 0.631 0.724 0.721 0.690 0.544 0.645 0.617 0.618 0.586 0.600 0.539 0.594 0.716 0.637 0.674 0.699 0.582