より多くを読み込んだ後に、thisで説明されているように、多くの線形モデルを同時にフィットさせ始めました。 1が数値であり、1が要因であるときに問題がgather()
関数として、変数は例えば、同じタイプでないときに、このアプローチが失敗したということですdplyrとtidyr - 多くの線形モデルを一度に因子数で計算する
library(dplyr)
library(tidyr)
library(purrr)
df <- data.frame(y = rnorm(10),
x1 = runif(10),
x2 = runif(10))
df %>%
gather(covariate, value, x1:x2) %>%
group_by(covariate) %>%
nest() %>%
mutate(model = map(.x = data , .f = ~lm(y ~ value, data = .))) %>%
mutate(rsquared = map_dbl(.x = model, .f = ~summary(.)$r.squared))
:つまり、私はこれらの線に沿って何かをするだろうファクターにvalue
ベクトル全体を強制するでしょう。例えば、
df <- data.frame(y = rnorm(10),
x1 = runif(10),
x3 = sample(c("a", "b", "c"), 10, replace = TRUE))
df %>%
gather(covariate, value, x1:x3) %>%
sapply(class)
は警告
Warning message:
attributes are not identical across measure variables; they will be dropped
y covariate value
"numeric" "character" "character"
が続いているとvalue
列は文字なので、すべての共変量は因子として入れられるようにnest()
とのトリックはもはや機能しません。
これは、整頓方法があるかどうか疑問に思っています。
賢いアプローチ:
これらのいずれかの鎖リードの一部として、この場合の望ましい結果です。 +1 –
それでもやはり要因のように扱われるはずの数値的に見える変数がある場合には失敗します(多分いい考えではないかもしれませんが、多くは起こります)。 'gathering 'は必然的に(?)いくつかの情報を失うことになる... –