我开始深入研究R并自学基础知识,我想研究一些命令的帮助。
我正在尝试使用从文本文件中提取的数据集来理解以下概念:
对于初学者来说,这是有问题的文本文档的前几行:
salary totcomp tenure age sales profits assets Industry
24222.39 58936.87 7 61 161315 2956 257389 2
24048.97 59219.46 0 51 144416 22071 237545 3
23172.99 56814.47 11 63 139208 4430 49271 2
23431.15 56971.3 6 60 100697 6370 92630 3
22049.87 55596.23 18 63 100469 9296 355935 3
创建相关表
salary<-read.table(file="C:/Users/sean/Desktop/ceosalary.txt", header = TRUE,sep="\t")
attach(salary)
cor(salary[-c(1,4,6)])
构建多元回归模型
lm(formula = profits - Industry)
o1<-lm(salary-profits)
执行lm()
时发生错误:
model.frame.default中的错误(formula = salary - profit,drop.unused.levels = TRUE):变量'salary'的类型(列表)无效
获取anova表
对于上述多元回归模型,使用anova()
:
anova(lm)
我是否正确使用这些命令?
答案 0 :(得分:2)
您的模型不是多元回归模型。它是一个简单的线性回归。 lm函数的公式也可以是y~x而不是y-x。这里y是因变量,x将是自变量。
在R中,你应该像这样编码:
fit <- lm(profits~Industry, data=salary)
summary(fit)
如果您想进行多元回归,
fit <- lm(profits~Industry+tenure+age, data=salary)
summary(fit)
summary(fit)将为您提供模型的输出,包括p值,回归系数,残差标准误差和许多其他内容。
为了做anova,你应该这样做:
anova(fit)