2017-01-12 80 views
0

我試圖做文本挖掘在中國與R.中國字符函數R工作室

在我的數據集,我有像「連鎖店購買的」人的評論欄。而且我還有另外2個由傑巴爾創建的專欄。這些信息包含分段信息(「連鎖店」,「購買」,「的」)以及這些信息中的關鍵字(「連鎖店」,「購買」)。關鍵字選擇會刪除「不」(中文爲「不」),所以我試圖從單詞中取回並將其添加到關鍵字中。很簡單,對吧?

爲了有一個乾淨的代碼,我把我所有的功能放在一個單獨的文件中,並將其源文件放在我的主文件中。而現在,一些非常奇怪的事情發生了:函數在主文件中工作,但在源文件中不起作用! (我只是複製和粘貼從我的主功能到「功能」文件並運行源(...)行...)。

fetchingNeg <- function(df){ 
    for (i in 1:nrow(df)){ 
    if ("不" %in% unlist(df[i,]$words)){ 
     df[i,]$keywords <- list(append(unlist(df[i,]$keywords),"不")) 
    } 
    } 
    return(df) 
} 

回答

2

所以我發現錯誤:編碼! 有一個字符c,我知道是「不」,但是當我正在做print(「不」== c)時,它會給出錯誤...在這種情況下,「不」不會編碼爲UTF-8,所以使我的代碼工作,我不得不將其更改爲

fetchingNeg <- function(df){ 
     for (i in 1:nrow(df)){ 
      # "不" is "\u{4e0d}" in UTF-8 
      if ("\u{4e0d}" %in% unlist(df[i,]$words)){ 
      df[i,]$keywords <- list(append(unlist(df[i,]$keywords),"\u{4e0d}")) 
      } 
     } 
     return(df) 
    }