2017-10-10 11 views
0

コンテキスト:私は、実験中の時間の経過に伴うワークロードと信頼の進化をグラフィカルに比較したいと思います。時間は2ブロックで表されます。stat_summary(ggplot)を使用してグラフ上の異なる変数をスタックする

問題:進化を比較するために、同じグラフに異なる単位で異なる変数をプロットしようとしています。私はgeom_lineで動作することがわかりましたが、stat_summaryでは動作しません。

データ:xは時間を表す「ブロック」(2ブロック)です。 yに使用される変数は、 "Workload"と "Trust"(両方とも1から5であり、主語を求めることによって得られる)である。 は、いくつかのデータを与えるために:

data = data.frame("Subject" = c(1,1,2,2,3,3), "Block" = c(1,2,1,2,1,2), "Workload" = c(1,5,2,4,3,3), "Trust" = c(4,1,3,2,2,1)) 

私はこれを試してみましたが、それは動作します:私は複数のポイントを持っているので、それはそのように各値のためにそれらをリンクします。それは説得力が結果を生成しません。しかし

ggplot(data, aes(Block)) + geom_line(aes(y = Trust)) + geom_line(aes(y = Workload)) 

私は垂直な特徴しか得ていない。そして、geom_lineが何をすべきかを考えれば、それは完全に正常です。 だから私はまだstat_summaryとの直接の結果を得ることが可能である場合しかし、私はのようなものを使用して、思っていた、各ブロックの平均値と各変数を計算することができます

ggplot(data, aes(Block)) + stat_summary(fun.y = mean, geom = line, aes(y = Trust)) + stat_summary(fun.y = mean, geom = line, aes(y = Workload)) 

は少しでも捧げ誰いただきありがとうございますその時間に答えようとしています。

楽しい一日を!

Pyxel

+0

あなたは 'geom'の前後に引用符が欠落しています。 'geom =" line "'を試してください。 – aosmith

+0

ありがとうございます。しかし、私がこの記事を書いたときだけ、私はRに引用符を入れました。 – Pyxel

+0

コード( "行"を使用)は私のためにうまく動作します。結果はあなたが探しているものではないのですか、エラーが出ますか? – aosmith

答えて

0

私はプロットする前に、あなたのデータをまとめたお勧めします。ここで考えてみましょう:

library(tidyverse) 
df <- data_frame("Subject" = c(1,1,2,2,3,3), 
       "Block" = c(1,2,1,2,1,2), 
       "Workload" = c(1,5,2,4,3,3), 
       "Trust" = c(4,1,3,2,2,1)) 
grouped <- 
    df %>% 
    group_by(Block) %>% 
    summarise(trust = mean(Trust), 
      workload = mean(Workload)) 

ggplot(grouped, aes(x = Block)) + 
    geom_line(aes(y = trust)) + 
    geom_line(aes(y = workload)) 

+0

ありがとうございます。確かに、それは可能性です。 しかし、私は元の投稿で言ったように、これは完全に私を満足させるものではありません。なぜなら、私は平均値しか持っていないので、エラーバーをプロットできないからです。 – Pyxel

+0

'stat.summary'を使うのではなく' summarise'を呼び出すときに標準エラーを直接計算することもできます – zlipp

+0

これを指摘してくれてありがとう、すぐに試してみましょう=) – Pyxel

関連する問題