2014-11-25 91 views
0

我想對twitter數據做一些情感分析。我有一個字典(afinn_list),它是像下面開發情感分析評分模型的代碼問題

  • 良好5
  • 壞-5
  • 真棒6
  • 我已經能夠產生一個包含每個匹配單詞的位置的字符變量。現在我想要生成一個分數變量,它將包含這些匹配的相應分數。我很難提出一個for循環邏輯。

    類(afinn_list)

    [1] 「data.frame」

    vPosMatches < - 匹配(即,afinn_list $字)

    vPosMatches

    [1] NA NA NA NA 1104 NA NA NA NA NA NA NA NA NA NA NA 1836 NA

    如果問題太幼稚,我很抱歉。我只是試圖使用R學習情感分析。

    回答

    0

    情感分析是一項複雜的任務。假設你已經從twitter中清理了你的數據並將它存儲爲每個單元格中的1個單詞,那麼我想你現在缺少的是使用你的得分「字典」afinn_listwords中的已清理數據進行評分。

    假設你的話是afinn_list看起來像這樣

    dictionary <-data.frame(grade=c('bad','not good', 'ok', 'good','very good'), score=1:5)) 
    #  grade score 
    1  bad  1 
    2 not good  2 
    3  ok  3 
    4  good  4 
    5 very good  5 
    

    和你mock_data(清理從Twitter數據)

    mock_data<-data.frame(data=rep(x=c('good','bad','rubbish','hello','very good'),10)) 
    #  data 
    1  good 
    2  bad 
    3 rubbish 
    4  hello 
    5 very good 
    6  good 
    

    你會做2數據幀之間的合併。在SQL世界中,它將是一個左外連接。在R,它與功能merge,並提供您希望加入由列和all.x=True

    impletemed因此您的代碼將看起來像這樣

    merge(mock_data, dictionary, by='data', all.x=TRUE) 
    

    我希望這回答您的問題。

    乾杯