2017-07-04 5 views
0

データベースのテーブルからtweet_idを取得し、rのデータフレームに格納しています。問題は、tweet_idの値がデータフレームに正しく追加されていないことです。私のテーブルの私のデータフレームの値は私のデータベーステーブル(RとMySQL)のものと同じではありません)

スナップショット:rstudioの私のデータフレームの

enter image description here

スナップショットは:あなたが見ることができるように

enter image description here

はにはtweet_id = '882100387989291008'(第三値はありません私のデータベースフレーム)

私のRscriptファイル:

#connecting with db 
#myDB = dbConnect(MySQL(), user = "root", password = "F33mtHaDD", dbname = "dashboard", host= "127.0.0.1", port="8889") 

myDB =dbConnect(MySQL(), user = "root", password ="F33mtHaDD", dbname = "dashboard") 


options(scipen=10) 
options()$scipen 

#running a query and retriving data and saving it in a object 
rs = dbSendQuery(myDB, "SELECT tweet_id, sentiment, text FROM dashboard.sen_tweets_twitter WHERE text <> '';") 

#getting the result. The function fetch() saves the result in a dataframe 
datafetd = fetch(rs, n=-1) 


#removing extra whitespaces 
#new = stripWhitespace(datafetd$text) 
#dataafterclean =data.frame(new) 

#converts into one single string 
review_text = paste(datafetd$text) 
review_id = paste(datafetd$tweet_id) 

print(review_id) 

rm(tm_tdm) 

#find the number of data 
tweets_num = length(review_text) 


#Disconnect connections 
dbdisconnect = lapply(dbListConnections(dbDriver(drv = "MySQL")), dbDisconnect) 

#checking if all connection has been closed 
dbListConnections(MySQL()) 

私のデータベースの値は正しいです。この問題を解決するにはどうすればよいですか?

+0

IDで不足しているレコードを選択しようとしましたか? –

+0

@MichaelO。はい。私はtweet_id = 882100387989291008のレコードをmysqlデータベースで選択しようとしましたが、結果は0でした。 –

+0

しかし、 'tweet_id'は数字か文字列ですか? –

答えて

1

データベーステーブルは、順序付けられていないデータセットを表します。テーブルのスナップショットでは、レコードは昇順でIDでソートされているようです。私は、すべてのデータが実際にあなたのデータフレームにそれを作成したと仮定しますが、そのデータフレームはあなたのテーブルを照会するときに示したものとは異なる順序を持っています。これを確認するには、IDで昇順にデータフレームを並べ替えることができます。

datafetd[with(datafetd, order(ID)), ] 
+0

です! 'setorder(datafetd、ID)'とどう違うのですか? – amonk

関連する問題