2016-04-30 3 views
1

Ich versuche, Erwähnungen auf Twitter Daten wie @someone @somebody von einem Datenrahmen Twitter und einen neuen Datenrahmen mit der Information von wem getwittert und welche Leute sie erwähnten.Erwähnen Erwähnung auf einen Kommentar und das Auffüllen von Datenrahmen

Beispiel:

tweets <- data.frame(user=c("people","person","ghost"),text = c("Hey, check this out 
@somebody @someone","love this @john","amazing")) 

Resultierende auf diesem Datenrahmen:

**user  text** 

*people Hey, check this out @somebody @someone* 

*person love this @john* 

*ghost amazing* 

Das gewünschte Ergebnis ist:

**id  mention** 

*people @somebody* 

*people @someone* 

*person john* 

*ghost* 

Können ihr mir helfen, bitte?

Antwort

1

Sie können stringr unter Verwendung Bibliothek etwas tun:

library(stringr) 
tweets$mention <- str_extract_all(tweets$text, '\\@\\S+') 

Die Ausgabe wird wie folgt dar:

tweets 

    user          text    mention 
1 people Hey, check this out \[email protected] @someone @somebody, @someone 
2 person       love this @john    @john 
3 ghost         amazing      

Um die Ausgabe in Langform zu erhalten, können Sie etwas tun können:

library(dplyr) 
library(tidyr) 
tweets <- rbind(filter(tweets, !grepl('\\@', mention)), unnest(tweets)) 
tweets <- tweets[, -2] 

Die Ausgabe ist wie folgt:

user mention 
1 ghost   
2 people @somebody 
3 people @someone 
4 person  @john 
Verwandte Themen