11
votes

Comment convertir des résultats de SearchTwitter (à partir de la bibliothèque (Twitter)) en données.

Je travaille sur la sauvegarde des résultats de la recherche Twitter dans une base de données (SQL Server) et obtenez une erreur lorsque je tire les résultats de la recherche de Twitter.

Si j'exécute: p> xxx pré>

i obtenir une erreur de: p> xxx pré>

Ceci est important car afin de Utilisez Rodbc pour ajouter ceci à une table à l'aide de SQLSave, il doit être une donnée. Au moins c'est le message d'erreur que j'ai obtenu: p> xxx pré>

de même que quiconque a des suggestions sur la manière de contraindre la liste à un fichier data.frame ou comment je peux charger la liste via Rodbc ? P>

Mon objectif final est d'avoir une table qui reflète la structure des valeurs renvoyées par SearchTwitter. Voici un exemple de ce que j'essaie de récupérer et de charger: p> xxx pré>

donc je pense que les données.frame de chiot doit avoir des noms de colonne comme: p>

- text
- favorited
- replytoSN
- created
- truncated
- replytoSID
- id
- replytoUID
- statusSource
- screenName


0 commentaires

6 Réponses :


3
votes

Essayez ceci:

> head(ldply(searchTwitter("#rstats", n=100), 
        function(x) data.frame(text=text(x), favorited=favorited(x))))
                                                                                                                                          text
1                                                     @statalgo how does that actually work? does it share mem between #rstats and postgresql?
2                                   @jaredlander Have you looked at PL/R? You can call #rstats from PostgreSQL: http://www.joeconway.com/plr/.
3   @CMastication I was hoping for a cool way to keep data in a DB and run the normal #rstats off that. Maybe a translator from R to SQL code.
4                     The distribution of online data usage: AT&T has recently announced it will no longer http://goo.gl/fb/eTywd #rstat
5 @jaredlander not that I know of. Closest is sqldf package which allows #rstats and sqlite to share mem so transferring from DB to df is fast
6 @CMastication Can #rstats run on data in a DB?Not loading it in2 a dataframe or running SQL cmds but treating the DB as if it wr a dataframe
  favorited
1     FALSE
2     FALSE
3     FALSE
4     FALSE
5     FALSE
6     FALSE


6 commentaires

Shane, quelle bibliothèque dois-je charger pour cela? Est-ce que c'est plyr?


Je vois que c'est plyr. Il convertit la liste en données. Maintenant, les 10 colonnes qui sont renvoyées à partir de SearchTwitter sont dans une seule colonne dans les données. Comment puis-je les diviser?


Pouvez-vous mettre à jour votre question? Je ne suis pas sûr de ce que vous voulez que la sortie finale ressemble à ...


J'ai mis à jour ma question, merci de vos suggestions. Je les traverse d'essayer de l'obtenir dans la bonne structure.


@AnalyticsPierce: voir ma réponse.


Bien! Je suis capable de créer les données.frame. Merci pour votre aide et votre patience avec moi. Je suis un gars de marketing de base de données vient d'entrer à R. Une question de suivi à ce sujet, la solution ci-dessus ne fonctionne pas pour les colonnes qui peuvent revenir sans valeur comme ReplyTtosn. Y a-t-il quelque chose que je peux ajouter afin que cela puisse être attribué? Si j'exécute: HEAD (PODPHITTER ("chiottwitter (" chiot ", n = 100), fonction (x) data.frame (texte = texte (x), favorité = favorité (x), replytosn = replytosn (x)))) Je reçois: Erreur dans Data.frame: Les arguments impliquent un nombre différent de lignes: 1, 0 Faites-moi savoir si cela devrait être une nouvelle question.



17
votes

J'utilise ce code que j'ai trouvé depuis http: / /blog.ouseful.info/2011/11/09/geting-started-with-Twitter-Analysis-in-r/ Il y a un moment:

#get data
tws<-searchTwitter('#keyword',n=10)

#make data frame
df <- do.call("rbind", lapply(tws, as.data.frame))

#write to csv file (or your RODBC code)
write.csv(df,file="twitterList.csv")


0 commentaires

1
votes

Pour ceux qui rencontraient le même problème que j'ai fait, ce qui obtenait une erreur disant xxx

j'ai simplement changé le texte de texte dans xxx p> à statutext, comme: xxx

juste une tête amicale: p


0 commentaires

7
votes

Je sais que c'est une vieille question, mais je pense toujours, voici ce que je pense être une version "moderne" pour résoudre ce problème. Il suffit d'utiliser la fonction twlisttodf xxx

espère qu'il aide


4 commentaires

Il me semble que cette solution ne fonctionne que si vous recherchez et travaillez avec les tweets d'un utilisateur spécifique?


Oui, ce n'est pas vraiment une solution ... du moins pas à ce problème ou le cas d'utilisation générale de Twitter


Je ne suis pas d'accord. Le problème était fondamentalement comment obtenir une donnée.frame d'un objet d'état de Twitter. Si vous en avez une liste, c'est le cas de la question initiale, vous venez d'appliquer la fonction à chaque objet de la liste. Ht


Cela me semble correct. Fonctionne bien pour plusieurs utilisateurs: TwlistTodf (PAPLLY (C ('@ Handin1', '@ Handin2'), GetUser))



0
votes

Voici une belle fonction de la convertir en DF.

tweets <- TweetFrame(" ", n)


0 commentaires

0
votes

Le package Twitter code> inclut désormais une fonction TwlistTodf code> qui le fera pour vous.

puppy_table <- twListToDF(puppy)


0 commentaires