2017-07-26 19 views
1

私は600人の回答者のデータセットを持っています。回答者ごとに、私は、折れ線グラフを使って指標のレベルを経時的に追跡したいと思っています。指標は0,1,2,3,4の5つのレベルに分かれており、私は4年間、2014年、2015年、2016年、2017年の指標を持っています。 y軸上のサンプル番号と1行指標のレベルを示す4つの期間にわたる各回答者を表す。どのようにこれを可能にすることができますか?私はあなたの助けに感謝します! 私は、収入変数の所得のデシールを使って、このグラフをさらに詳しく説明したいと思います。x軸の経時的な複数レベルのインジケータをプロットする線グラフ

サンプルデータフレーム:

df <- data.frame(c(1:5), c(0, 1, 0, 2, 2), c(1, 2, 2, 4, 4), c(2, 3, 3, 4, 4), c(3,3,3,4,4), c(10000, 200000, 15000, 40000, 350000) 
colnames(df) <- c("sample_no", paste("indicator_level_", 14:17, sep=""), "annual_income") 
+0

あなたはツアーx軸に欲しいものを私は理解していない...あなたは、あなたが、Y軸上のサンプル数をよろしいですか? – AntoineBic

答えて

3

は、これはあなたに受け入れられるだろうか?私だけのための行の数分位数に基づいて(代わりに10の)3つの異なるクラスタを使用

library(ggplot2) 
library(dplyr) 
library(tidyr) 
library(magrittr) 

df2 <- df %>% 
    mutate(quantile = ntile(annual_income, 3)) %>% 
    gather(indicator_level_14, indicator_level_15, indicator_level_16, indicator_level_17, 
     key = "Indicator", value = "Value") 


ggplot(df2, aes(x = Indicator, y = Value, color = as.factor(sample_no))) + 
    geom_line(aes(group = sample_no)) + 
    facet_wrap(~quantile) + 
    theme(axis.text.x = element_text(angle = 50, hjust = 1)) + 
    labs(color = "Sample") 

enter image description here

+0

私を集めて丁寧に紹介してくれてありがとう。私のデータセットは本当に幅広く、これは参考になります。多くの回答者には同様の傾向があり、スーパーに課されており、600人の回答者がおり、色も併合されているので、あなたのソリューションはそれを実行する以外は素晴らしいです。したがって、複数の回答者が同じ傾向を持っているかどうかを判断することはできません。すべてのスーパーに課された傾向の厚さによって、時間インジケータに亘って同じ傾向を持つ回答者の数を視覚的に推測できる方法がありますか? – user3816784

+0

おそらく、収集する前に、14年目と15年目のインジケータの差を表す新しい変数(diffと言う)を作成してから、 'aes(color/linetype = diff)'を作成することができます。それは一般的な傾向を見る一つの方法です。 – AntoineBic

関連する問題