2017-06-06 18 views
1
  ggplotRegression <- function (fit) { 

      require(ggplot2) 

      ggplot(fit$model, aes_string(x = names(fit$model)[2], y = 
      names(fit$model)[1])) + 
      geom_point() + 
      stat_smooth(method = "lm", col = "red") + 
      labs(title = paste("Adj R2 = ",signif(summary(fit)$adj.r.squared, 
       5), 
        "Intercept =",signif(fit$coef[[1]],5), 
        " Slope =",signif(fit$coef[[2]], 5), 
        " P =",signif(summary(fit)$coef[2,4], 5))) 

}ggplot2の同じグラフに、異なる尺度に異なる凡例を追加するにはどうすればよいですか?

   taus <-c(0.05 , 0.25, 0.50 , 0.75, 0.90 , 0.95) 

       m <- ggplotRegression(lm(formula = BMI ~ height_in_m 
        +weight_in_kg+ Highest_Education_level + 
        wealth_index + age_in_year_groups, data = dat_new)) 

      m+geom_quantile(quantiles=taus, lwd=1.5 , col="green4", 
      fill=taus) 

enter image description here

今私は、各分位のための特定の色を追加し、また、各分位数についてspcific凡例を追加します。

答えて

1

多くggplot統計は、あなたがaes..count..を使用することができますgeom_densityと、たとえば、..で囲まれた計算の結果を使用してみましょう。 geom_quantile

あなたはこれらの変数が呼ばれているものを見つけるためにトリックがある..quantile..

df <- data_frame(x = rnorm(100), y = rnorm(100)) 
ggplot(df, aes(x, y)) + 
    geom_point() + 
    geom_quantile(aes(colour = as.factor(..quantile..))) 

を使用することができます。 geom_quantileおよびgeom_densityなどの統計を計算する必要があるGeomsは、compute_groupという要素に計算のコードを持つStatQuantileおよびStatDensityのようなオブジェクトggprotoを持っています。

StatQuantile$compute_groupの最後のコマンドは、

plyr::ldply(quantiles, quant_pred, data = data, method = method, 
    formula = formula, weight = weight, grid = grid, method.args = method.args) 

ここでは機能、quant_predです - あなたはggplot2:::quant_predで見ることができ、リストを返します。 quantileを含むこのリストのコンポーネントは、aesで使用できます。

関連する問題