2016-09-07 1 views
1

Je collectionne les hashtags de twitter. Chaque tweet peut inclure des hashtags.scinder des hashtags dans un objet data.frame avec R

tests <- c("xxxxxx #SaveTheDate xxxxxx #Histoire] xxxxxx #Femmes xxxxxxx #ports", 
     "xxxxxxxxxxxx", 
     "xxxx #rock xxxxxx #Nantes" , 
     "xxxxxx #lvan xxxxxxx #nantes xxxxx #ilsepassetoujoursuntruc") 


library (stringr) 

hashtags <- str_extract_all(tests, "#\\S+") 

str (hashtags) 

résultats Ma:

str(hashtags) 
list of 4 
$ : chr [1:4] "#SaveTheDate" "#Histoire]" "#Femmes" "#ports" 
$ : chr(0) 
$ : chr [1:2] "#rock" "#Nantes" 
$ : chr [1:3] "#lvan" "#nantes" "#ilsepassetoujoursuntruc" 

Ce que j'attends: un data.frame avec un hashtag pour une ligne

"#SaveTheDate" 
"#Histoire" 
"#Femmes" 
    "#ports" 
    NA 
    .... 

Ce que j'ai essayé:

hashtags_df <-as.data.frame(hashtags) 
+0

comment exactement 'as.data.frame()' était supposé deviner vos intentions? [This] (http://stackoverflow.com/questions/38788494/hashtag-extract-function-in-r-programming/38789142#38789142) peut aider à la reconnaissance et à l'extraction du hashtag. Je suis curieux de savoir comment vous allez traiter le spam, la pollution par hashtag et l'abus de hashtag. 20-30% de votre corpus seront jonchés de ceux-ci. – hrbrmstr

+0

Je travaille dessus. – Wilcar

Répondre

3
hashtags[!lengths(hashtags)] <- NA 

Cela remplacera vos listes de longueur zéro par des NA. (meilleure solution pour cela via Dirty Sock Sniffer)

hashtags <- unlist(hashtags) 

vous donnera un vecteur colonne des valeurs. Si vous souhaitez une base de données, vous pouvez utiliser as.data.frame maintenant. Je ne connais pas la meilleure façon d'extraire les hashtags, etc., mais cela devrait répondre à la question telle qu'elle est actuellement posée.

+0

Utiliser 'unlist' est ce que je ferais aussi, mais il ne correspond pas exactement à la sortie désirée par OP: vous n'obtiendrez pas de' NA's. –

+0

Ah, bien, merci! Je savais qu'il y avait quelque chose de plus simple, mais je ne connais pas très bien ce type de code. –

+1

J'ai compris, merci! :) –