-1

私は次の表を持っています

Date   Visits  User
Feb1   10     1
Feb1   20     1
Feb1   100    2
Feb2   10     2
Feb3   34     6

x 軸が日付で、y 軸が訪問数である積み上げ縦棒グラフを生成しようとしています。列は、その日のユーザーによる訪問数で積み上げられます。つまり、2 月 1 日の場合、高さ = 130 の列が表示され、ユーザー 2 による 100 とユーザー 1 による 30 の 2 つの部分があります。

この形式のテーブルを生成する必要があることを理解しています:

         1   2   6
Feb 1   30  100
Feb 2        10
Feb 3            34

次に、barplot 関数を使用します。R は、最初のテーブルを 2 番目のテーブル形式に変換する簡単な関数を提供していますか? どんな助けでも大歓迎です

4

2 に答える 2

1

ggplot21 つの解決策は、このタスクにパッケージを使用することです。

library(ggplot2)
#assuming that data frame is named df
ggplot(df,aes(Date,Visits,fill=factor(User)))+geom_bar(stat="identity")

ここに画像の説明を入力

于 2013-03-05T19:58:23.697 に答える
0

期待どおりの形式でデータを取得するには、次を使用できますxtabs

> (temp <- xtabs(Visits ~ Date + User, SODF))
      User
Date     1   2   6
  Feb1  30 100   0
  Feb2   0  10   0
  Feb3   0   0  34

で使用する前に、このデータを転置する必要がありbarplotます。

barplot(t(temp), legend = TRUE, 
        col = c("skyblue", "grey", "palegreen"), 
        xlab = "Date", ylab = "Visits")

ここに画像の説明を入力

于 2013-03-09T06:55:59.320 に答える