以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
我希望将rownames放在barplot的x轴上,barplot的高度将是所述rownames的平均值。感谢。
答案 0 :(得分:0)
我不清楚你想要什么样的酒吧高度。但是:
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]
只返回一列,所以通常我会做类似的事情
barplot(sapply(mtcars[,i], mean))
但是这样做不对,因为mtcars[,i]
会返回一个向量。让我们假设参数为i = c(5,6)
,那么这将起作用
i = 5:6
barplot(sapply(mtcars[,i], mean))