2017-09-30 7 views
1

追跡期間の異なるさまざまなハッシュタグのTwitterツイートを取得しました。たとえば、hashtag1は6日間追跡され、Hashtag2は4日間追跡され、Hashtag3は2日間追跡されました。どうすれば各ハッシュタグを正規化できますか?どうやってそれらを等分することができますか?事前のおかげで...ここにコードがある......>R言語を使ってヒストグラムのつぶやきを正規化する方法は?

library(streamR) 
    library(rjson) 

    setwd("/Users/Desktop") 
    Tweets = parseTweets("Hashtag1.json") 
    table(Tweets$created_at) 

    dated_Tweets <- as.POSIXct(Tweets$created_at, format = "%a %b %d %H:%M:%S 
    +0000 %Y") 

    hist(dated_Tweets, breaks="hours", freq=TRUE, xlab="dated_Tweets", main= 
    "Distribution of tweets", col="blue") 
+0

あなたが今得るか何を私たちに示し、そして正確にあなたがして満足していないかを説明することはできますか?ハッシュタグごとに1日あたり_tweetsのようなものが欲しいですか? –

+0

はい各ハッシュタグのヒストグラムを視覚化しましたが、各ハッシュタグの追跡期間が異なりますので、各ハッシュタグを正規化します。たとえば、24時間の各日を4四半期(6時間ごと)に分けて、すべての日を同じヒストグラムにまとめます。 – user3643380

+1

だから、あなたはツイートタイムスタンプを持っています。あなたは、各ツイートのための "日の四半期"のヒストグラムを作成したいですか?あなたは#2がtweetedされているか、朝の時間に、そして#4が夜になっているかを見たいと思っていますか? –

答えて

1

に書かれたビンに変換することによって、時間のみ扱うことができる私はあなたのメインのだと思いますつまずくブロックは、日付時間を6時間のビンに変換することです。 format.POSIXctcutでこれを達成できます。ここに、ヒストグラムがある提案があります。ヒストグラムを行うには多くの方法がありますが、代わりにテーブルを好むでしょう。

library(magrittr) 
    library(ggplot2) 
    ## create some tweet times 
    hash1 <- lubridate::ymd("20170101") + lubridate::seconds(runif(100, 0, 10*86400)) 
    hash2 <- lubridate::ymd("20170101") + lubridate::seconds(runif(100, 0, 31*86400)) 
    hash3 <- lubridate::ymd("20170101") + lubridate::seconds(runif(300, 0, 5*86400)) 
    ## bin these into 6h intervals 
    bins1 <- format(hash1, "%H") %>% 
     as.numeric() %>% 
      cut(breaks=c(0,6,12,18,24), include.lowest = TRUE) 
    hTags <- data.frame(tag="#1", bins=bins1) 
    bins2 <- format(hash2, "%H") %>% 
     as.numeric() %>% 
      cut(breaks=c(0,6,12,18,24), include.lowest = TRUE) 
    hTags <- rbind(hTags, 
        data.frame(tag="#2", bins=bins2)) 
    bins3 <- format(hash3, "%H") %>% 
     as.numeric() %>% 
      cut(breaks=c(0,6,12,18,24), include.lowest = TRUE) 
    hTags <- rbind(hTags, 
        data.frame(tag="#3", bins=bins3)) 
    ggplot(data=hTags, aes(x=bins, fill=tag)) + geom_bar(position="dodge", aes(y=..prop.., group=tag)) 

enter image description here

+0

はい、ありがとうございます!ここでJSONファイルを読むことができますか? @OttToomet – user3643380

+0

これらは、ランダムなものを作成した場所で読み込んで解析する必要があります。私はあなたのデータを持っていないので、私は自分自身を思い付く必要がありました... –

+0

はい、ありがとうございます。私はそれを理解しましたが、私には2つの質問があります。どのように各ビンを正規化する? 2 - 各ビンの数値を取得する方法は? – user3643380

関連する問題