-1

各条件内のネストされたデータで、(複数の予測子を使用して) 4 つの条件に対して 4 つの回帰モデルを実行した (ネストされた) データフレーム (条件別) から回帰係数をプロットしようとしています。条件ごとのモデルごとの R-Squared 値をプロットすること (例を参照) は機能しますが、最初に条件ごとに x1 の回帰係数をプロットし (x1 の b は降順で)、次に x2 についても同じ (または予測番号)、誰かがコードを手伝ってくれますか?

複数のモデルの R - 二乗値のプロットの例:

# creating data example

library(modelr)
library(tidyverse)
set.seed(123)
data <- tibble(
condition = replicate(40, paste(sample(c("A", "B", "C", "D"), 1, replace=TRUE))),
x1 = rnorm(n = 40, mean = 10, sd = 2),
x2 = rnorm(n = 40, mean = 5, sd = 1.5),
y = x1*rnorm(n = 40, mean = 2, sd = 1) + x2*rnorm(n = 40, mean = 3, sd = 2))

by_condition <- data %>% 
  group_by(condition) %>% 
  nest()

# looking at data from first condition
by_condition$data[[1]]

# regression model function
reg.model <- function(df) {
    lm(y ~ x1 + x2,
    data = df)
}

# creating column with models per condition
by_condition <- by_condition %>% 
    mutate(model = map(data, reg.model))

# looking at reg. model for first group
by_condition$model[[1]]
summary(by_condition$model[[1]])

# graphing R-squared (ascending) per model by condition

glance <- by_condition %>%
  mutate(glance = map(model, broom::glance)) %>% 
  unnest(glance)

glance %>% 
  ggplot(aes(x = reorder(condition, desc(r.squared)), y = r.squared)) +
  geom_point() +
  coord_flip() +
  xlab("Condition") +
  ggtitle("R Square of reg. model per Condition")

したがって、この例は機能しますが、係数を個別に抽出し、同様のグラフで条件ごとに降順でプロットする方法がわかりません。ありがとう

4

1 に答える 1