如何修复R中模拟的“列名”错误?

6ojccjat  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(127)

使用R中的模拟,我试图测试选择标准的一致性,但我不断得到以下错误:
colnames<-*tmp*,值=制造商名称(np))中的错误:试图在少于二维的对象上设置'colnames'”
如何修复此错误?

set.seed(1)
X <- rnorm(100)
noise <- rnorm(100)

Y <- 3 + 1*X + 4*X + 6*X + noise

require(leaps)
df <- data.frame(Y, X)
fit <- regsubsets(Y~X, data = df, nvmax = 10)

fit_summary <- summary(fit)

require(tidyverse);require(ggplot2);require(ggthemes);

data_frame(Cp = fit_summary$cp,
           BIC = fit_summary$bic,
           AdjR2 = fit_summary$adjr2) %>%
    mutate(id = row_number()) %>%
    gather(value_type, value, -id) %>%
    ggplot(aes(id, value, col = value_type)) +
    geom_line() + geom_point() + ylab('') + xlab('Number of Variables Used') +
    facet_wrap(~ value_type, scales = 'free') +
    theme_tufte() + scale_x_continuous(breaks = 1:10)
zlwx9yxi

zlwx9yxi1#

你有一个只有一列的设计矩阵,选择在这种情况下没有意义,是吗?如果你添加另一列,代码就开始工作了。

set.seed(1)
X <- rnorm(100)
X2 <- rnorm(100)
noise <- rnorm(100)
Y <- 3 + 1*X + 4*X2 + noise

df <- data.frame(Y, X, X2)
fit <- leaps::regsubsets(Y~., data = df, nvmax = 10)

相关问题