2017-12-04 17 views
0

次は私がサブセット化しているハイライトの言葉

Word Frequency 
    big 10 
    upgrade 10 
    worth 10 
    latest 9 
    much 9 
    phone 8 
exciting 8 
    back 7 
    colours 7 
    case 6 
    stylish 6 
    clear 6 
experience 5 
    time 5 

を次のように私は用語の文書行列を作成したキャンペーンデータのデータフレーム

Subject     Response Rate(%)  Campaign Type Channel 
    Buy Stunning Phone A  81.00     A   e-mail 
Special Emi OFFER    81.00     B   e-mail 
Buy Stunning Phone at EMI  73.00     C   SMS 
The game changer is here.  85.00     A   SMS 
Buy Stunnig Phone A   80.00     A   SMS 
Special Emi OFFER    88.00     B   e-mail 
Buy Stunning Phone at EMI  48.00     C  e-mail 
The game changer is here.  48.00     A   e-mail 
Buy Stunning Phone    89.00     A   e-mail 
Special Emi OFFER    89.00     B   SMS 
Buy Stunning Phone at EMI  69.00     C   SMS 

ですdataby dplyrベースのチャネルタイプを、応答率が低下する順に表示します。 各件名に対して用語文書マトリックスの単語を強調表示/一覧表示したいと考えています。単語がその主題に存在する場合、主題の近くに別のリストとして記載されています。私はこれを行う方法を見つけることができません。

+1

のようなものを意味するのですか? – PoGibas

+0

質問を編集し、使用したコードを追加してください。 – Heikki

答えて

1

あなたは「ハイライト」とはどういう意味ですかこの

library(dplyr) 

df <- read.table(header = TRUE, sep = "," ,text = "Subject,Response Rate(%),Campaign Type,Channel 
Buy Stunning Phone A,81.00,A,e-mail 
Special Emi OFFER,81.00,B,e-mail 
Buy Stunning Phone at EMI,73.00,C,SMS 
The game changer is here.,85.00,A,SMS 
Buy Stunnig Phone A,80.00,A,SMS 
Special Emi OFFER,88.00,B,e-mail 
Buy Stunning Phone at EMI,48.00,C,e-mail 
The game changer is here.,48.00,A,e-mail 
Buy Stunning Phone,89.00,A,e-mail 
Special Emi OFFER,89.00,B,SMS 
Buy Stunning Phone at EMI,69.00,C,SMS",) 


df2 <- read.table(header = TRUE, sep = "," ,text = "Word,Frequency 
big,10 
upgrade,10 
worth,10 
latest,9 
much,9 
phone,8 
exciting,8 
back,7 
colours,7 
case,6 
stylish,6 
clear,6 
experience,5 
time,5",) 

m = sapply(df2$Word %>% as.character() %>% trimws(),regexpr,text = df$Subject %>% as.character(),ignore.case = TRUE) 

df$keyWord <- sapply(1:nrow(m),function(idx){ 
t = m[idx,] > 0 %>% unlist() 
paste0(names(t)[t],collapse = ",") 
}) 
df 
+0

これはうまく動作します。しかし、その言葉はリストに表示されないようです。 –

+1

@VishnuRaghavanこんにちは、ごめんなさい、あなたはコードをコピーして貼り付けたときに付いたコードにバグがありました。もう一度お試しください。 –

+0

親愛なる@BBertil Nestorius。今はうまくいくようです。ありがとうございます –