有没有一种方法可以将回归的重要变量放入条形图中?
Is there a way that I can put into a barplot the significant variables from regression?
以mtcars为例:
> reg <- lm(mpg ~ cyl + disp + hp + drat + wt, data = mtcars)
> sigvar <- data.frame(summary(reg)$coef[summary(reg)$coef[,4] <= .05, 4]) #extracts significant variables with p-values
> rownames <- rownames(sig) #extracts the variables only
我希望将行名放在条形图的 x 轴上,条形图的高度将是所述行名的平均值。谢谢
我不清楚您希望条形图中的条形高度是多少。然而:
reg = lm(mpg ~ cyl + disp + hp + drat + wt, data = mtcars)
## extracts significant variables with p-values
## note the -1 means you skip the intercept
sigvar = summary(reg)$coef[-1,4] <= .05
如果我明白你想要什么,你想要一个条形图,其中包含那些对你的条形高度重要的变量的平均值。您需要将重要变量与数据框中的变量名称匹配
i = match(names(sigvar)[sigvar], names(mtcars))
i
现在包含与显着变量对应的原始数据框的列。不幸的是,对于 mtcars
数据,这意味着 mtcars[,i]
只有 returns 一列,所以通常我会做类似
的事情
barplot(sapply(mtcars[,i], mean))
但这在这里做错了,因为 mtcars[,i]
returns 一个向量。让我们假设参数 i = c(5,6)
,那么这将有效
i = 5:6
barplot(sapply(mtcars[,i], mean))
以mtcars为例:
> reg <- lm(mpg ~ cyl + disp + hp + drat + wt, data = mtcars)
> sigvar <- data.frame(summary(reg)$coef[summary(reg)$coef[,4] <= .05, 4]) #extracts significant variables with p-values
> rownames <- rownames(sig) #extracts the variables only
我希望将行名放在条形图的 x 轴上,条形图的高度将是所述行名的平均值。谢谢
我不清楚您希望条形图中的条形高度是多少。然而:
reg = lm(mpg ~ cyl + disp + hp + drat + wt, data = mtcars)
## extracts significant variables with p-values
## note the -1 means you skip the intercept
sigvar = summary(reg)$coef[-1,4] <= .05
如果我明白你想要什么,你想要一个条形图,其中包含那些对你的条形高度重要的变量的平均值。您需要将重要变量与数据框中的变量名称匹配
i = match(names(sigvar)[sigvar], names(mtcars))
i
现在包含与显着变量对应的原始数据框的列。不幸的是,对于 mtcars
数据,这意味着 mtcars[,i]
只有 returns 一列,所以通常我会做类似
barplot(sapply(mtcars[,i], mean))
但这在这里做错了,因为 mtcars[,i]
returns 一个向量。让我们假设参数 i = c(5,6)
,那么这将有效
i = 5:6
barplot(sapply(mtcars[,i], mean))