各列に基づいてファセットが異なるがx
、行名に基づいて同じ値のプロットを作成するにはどうすればよいですか。
からの要約があるとしましょうregsubsets()
が、リストが返されるので、最初にデータフレームとして作成する必要があります(とにかく、リストでggplot2を使用できますか?)。
set.seed(1)
X = rnorm(100)
e = rnorm(100)
Y = 8 + 7*X + 2.5*X^2 - 9*X^3 + e
regfit.full = regsubsets(Y~poly(X,10,raw=T), data=data.all, nvmax=10)
(reg.summary = summary(regfit.full))
df = data.frame(reg.summary$cp, reg.summary$bic, reg.summary$adjr2)
> names(df)
[1] "reg.summary.cp" "reg.summary.bic" "reg.summary.adjr2"
> dim(df)
[1] 10 3
今の質問は、私は、各機能のためのファセットを作ることができる方法である(すなわちreg.summary.cp
、reg.summary.bic
、reg.summary.adjr2
)、y軸上の値と行番号となり、x軸の値になることを。
行番号を追加し、次を使用してデータフレームを溶かすことで実行できますreshape2
。
library(reshape2)
library(ggplot2)
data.all = data.frame()
set.seed(1)
X = rnorm(100)
e = rnorm(100)
Y = 8 + 7 * X + 2.5 * X ^ 2 - 9 * X ^ 3 + e
regfit.full = regsubsets(Y ~ poly(X, 10, raw = T), data = data.all, nvmax = 10)
(reg.summary = summary(regfit.full))
df = data.frame(reg.summary$cp, reg.summary$bic, reg.summary$adjr2)
df$rownum <- 1:NROW(df)
molten_df <- melt(df, id.vars = "rownum")
ggplot(data = molten_df, aes(x = rownum, y = value)) +
geom_point() +
facet_wrap( ~ variable)
編集:多分scales = "free_y"
Soを追加することによってy軸を互いに独立させます:
ggplot(data = molten_df, aes(x = rownum, y = value)) +
geom_point() +
facet_wrap( ~ variable, scales = "free_y")
EDIT2:溶けずにプロットを作成する方法df
:
grid.arrange(
ncol = 3,
ggplot(data = df) +
geom_point(aes(x = rownum, y = reg.summary.cp)),
ggplot(data = df) +
geom_point(aes(x = rownum, y = reg.summary.bic)),
ggplot(data = df) +
geom_point(aes(x = rownum, y = reg.summary.adjr2))
)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加