2016-12-05 173 views
1

首先让我告诉你我对R很新,所以我的问题听起来很奇怪,我想从高处预测一个人的体重。对于我需要找到回归直线的方程(在下面的形式),用于此问题:用R中的回归方程预测

重量=截距+(斜率)x高度

我已经数据的形式如下?

关于如何找到回归直线方程

dat <- read.table(text = "SampleNo,Height,Weight 
          1,65.78,112.99 
          2,71.52,136.49 
          3,69.40,153.03 
          4,68.22,142.34 
          5,67.79,144.30 
          6,68.70,123.30 
          7,69.80,141.49 
          8,70.01,136.46 
          9,67.90,112.37", 
        sep = ",", header = T) 

回答

1

您可以用lm功能做到这一点的想法。

lm1 <- lm(Weight ~ Height, data = dat) 

我想预测WeightHeight的函数,所以我使用的语法Weight ~ Height

最后,我运行lm1对象上的coefficients函数来获得Height的系数和截距。

coefficients(lm1) 
    (Intercept)  Height 
    -177.650244 4.525168 

如果我想预测结果为Weight一组特定的Heights,我可以做到这一点与以下:

> predict(lm1, newdata = data.frame((Height = c(65, 68.5, 71.6)))) 
     1  2  3 
116.4857 132.3238 146.3518 

您可以使用summary功能获得有关配合其他信息在lm1对象上。这将提供R^2倍的值,更多信息的估计,等等

summary(lm1) 

Call: 
lm(formula = Weight ~ Height, data = vals) 

Residuals: 
    Min  1Q Median  3Q  Max 
-17.239 -9.500 -2.697 11.283 16.634 

Coefficients: 
      Estimate Std. Error t value Pr(>|t|) 
(Intercept) -177.650 193.247 -0.919 0.389 
Height   4.525  2.808 1.611 0.151 

Residual standard error: 13.03 on 7 degrees of freedom 
Multiple R-squared: 0.2705, Adjusted R-squared: 0.1663 
F-statistic: 2.596 on 1 and 7 DF, p-value: 0.1512 

回归和许多其他的机器学习技术,R A伟大的(免费)的资源可以发现here。这是一本了解统计数据和如何在R中实现这些方法的好书。

+0

什么是回归线方程? – NATS

+0

我只需要找到方程,因为我已经估计了高度为65英寸,68.5英寸和71.6英寸的人的重量。 那么等式是什么? – NATS

+0

我的意思只是一个通用的等式,我只是把人的高度和它推测的人的重量。 – NATS