我有這樣的代碼,使用餘弦相似度通過以下方式計算數據幀中的重複:首次循環(nrow)時間,以便每次使用一條推文,然後將餘弦相似度結果與此推文進行比較其他推文使用第二個循環。在R語言中嵌套for-loop
這裏是我的代碼:
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
}
我在第一循環的一個問題,進入了一個時間雖然在數據幀10000個鳴叫號鳴叫。
和我得到的錯誤:
Error in if (Tweet_cos >= 0.9) { : missing value where TRUE/FALSE needed
嘗試'彙總(臨時)',看看你是否有'在Tweet_cos – Bulat
NA'值環境Tweet_cos值= NA_real_,使用後彙總(溫度)我看到值 – user3588494
查看結果:'summary(Tweet_cos) Min。第一曲。中位數均值3曲。最大。 NA's NA NA NA NA NA NA 1' – user3588494