R中的多元线性回归模型

R中的多元线性回归模型,r,linear-regression,R,Linear Regression,我试图用以下数据创建一个多元线性回归模型: bweight gestwks hyp sex 1 2974 38.5200004577637 0 female 2 3270 NA 0 male 3 2620 38.150001525878899 0 female 4 3751 39.7999992370604

我试图用以下数据创建一个多元线性回归模型:

    bweight   gestwks            hyp sex    

1    2974 38.5200004577637       0 female          
2    3270 NA                     0 male            
3    2620 38.150001525878899     0 female          
4    3751 39.799999237060497     0 male            
5    3200 38.889999389648402     1 male           
6    3673 40.970001220703097     0 female          

为了考虑字符串类型参数“男性”和“女性”,我将它们转换成整数1和0,如下:

male = 1*(sex == "male")
因此,创建线性模型,其中婴儿体重是结果变量:

lm2 = lm(bweight ~ gestwks + hyp + male)
但是,当我想查看模型的参数时,我得到了以下信息(这里不包括全部输出):


我应该只得到一对参数。我做错了什么?

gestwks是一个因素,在回归之前,您需要将其转换为.numeric。

在进行任何分析之前,始终仔细研究您的变量。注意连续变量的范围和分布,以及分类变量的频率。导入数据后执行此操作

在这种情况下,
gestwks
变量实际上不是数字。如果您查看了
str(my_data)
的输出,其中
my_data
是数据帧的名称,那么您就会看到该变量的潜在问题。您可能需要修改命令以导入数据。如果正确,则需要使用适当的命令将变量转换为数字变量。将
帮助页面中的警告阅读为.numeric
*

数据管理是分析的关键部分

仔细查看
gestwks
以查看外观奇怪的值<如果没有太多的记录,或者查看第一个和最后几个排序值,则代码>表会有所帮助

*
as.numeric(levels(f))[f]
as.numeric(as.character(f))
是推荐的命令。

可能将
gestwks
转换为numeric.@jay.sf你的意思是什么?我建议这样读:你可以检查如何创建或导入数据。由于某些原因,
gestwks
存储为
因子,而不是数字!这就是为什么您会得到每个唯一值的估计值
gestwks
。如果你想改进你的问题,这里有一些关于和如何给出答案的信息。MRE将使其他人更容易找到并测试您问题的答案。这样你可以帮助别人来帮助你!上面评论中的jay.sf链接应该可以解释一些问题。但与其将值重新计算为数字,修复导入可能更安全。为了获得更多的帮助和支持,如果您在问题的编辑中添加了一个最小的可复制示例,那就太好了。您不能仅使用
as.numeric
将因子对象转换为数值对象。因此,这些命令应该将我的``gestwks``变量转换为数值向量。因此,如果我检查str(my_data)的输出是什么,那么gestwks应该是“num”类型?因为现在它是“chr”型的…哦,好吧,没关系,我得到了我刚才问的。谢谢你的回答!你是怎么得到这些数据的?显示R命令以导入它。这可能是“chr”的原因。如果您对导入感到满意,那么可以使用这两个命令之一将其转换为“数值”。
Call:
lm(formula = bweight ~ gestwks + 
    hyp + male)

Coefficients:
                              (Intercept)  gestwks26.950000762939499  
                                  864.000                                   -236.000  
gestwks27.329999923706101    gestwks27.9899997711182  
                                    7.363                                    146.469  
gestwks28.040000915527301   gestwks30.5200004577637  
                                  184.469                                    760.469  
gestwks30.649999618530298  gestwks30.709999084472699  
                                  900.000                                   -141.531