1

日付ごとのアクティビティ数の単純な棒グラフを取得しようとしています。ただし、データを R にインポートすると、一部のレコードがスキップされるか、日付形式が適切に変換されません。

私が使用しているスクリプトは次のとおりです。

ua <- read.table('report_users_activities_byrole 2.txt',sep='|',header=T)
qplot(date, 
      data=ua, 
      geom="bar", 
      weight=count, 
      ylab="User Count", 
      fill=factor(un_region)) + 
    opts(axis.text.x =theme_text(angle=45, size=5))

そして私のデート

    head(ua)

        date                 role                                         name   un_region                un_subregion               us_state count
1  2012-06-21   ENTREPRENEUR         Australia                                    Oceania     Australia and New Zealand                             2
2  2012-06-21   ENTREPRENEUR         Belgium                                      Europe      Western Europe                                        1
3  2012-06-21   ENTREPRENEUR         Bosnia and Herzegovina                       Europe      Southern Europe                                       1
4

3 に答える 3

3

次のようなものが必要だと思います

 ua[,"Date"] <- as.Date(ua[,"Date"])

ファイルを読み取って取得した日付のテキスト表現を実際の日付型に変換します。

于 2012-09-21T17:52:17.047 に答える
1

コードの何が問題になっているのかわかりませんが、このようなものは機能するはずです(これは、http://had.co.nz/ggplot2/scale_date.htmlの例のバージョンです) 。

df = data.frame(date=sample(seq(Sys.Date(), len=100, by="1 day"),size=100,replace=TRUE))
qplot(x=date,data=df,geom="bar")

dfはdata.frameであり、一部の日付が他の日付よりも頻繁に表示されます(これがsample()関数です)。qplot()呼び出しで「weight」引数が必要な理由がわかりません。また、日付変数が適切な日付(文字列ではない)であることを確認してください。

str(df$date)

そうでなければ

    qplot(x=factor(date),data=df,geom="bar")

同様に機能するはずです。

于 2012-09-21T16:58:24.667 に答える
0

データ抽出でエンコードの問題が発生したようです。私はGoogleリファインを使用してインポートをクリーンアップしましたが、 ua <- read.csv("~/Desktop/R Working/report_users_activities_byrole.csv")うまくいきました

于 2012-09-21T17:59:24.287 に答える