繁体   English   中英

eval(predvars, data, env) 中的错误:找不到对象“BMI”

[英]Error in eval(predvars, data, env) : object 'BMI' not found

我刚刚开始使用R进行机器学习。 我的目标很愚蠢,请原谅。 我正在尝试训练以评论一个人的 BMI 是否表示超重、体重不足或健康。 到目前为止,这是我的代码:-

    dataset <- data.frame(
    BMI = c(15.5, 16.7, 17.8, 18.9, 19.0, 19.5, 20.7, 21.9,
            22.5, 23.5, 24.5, 25.0, 26.0, 27.7, 26.6, 29.3),
    Result = c("Underweight", "Underweight", "Underweight", 
                "Healthy", "Healthy", "Healthy", "Healthy", 
                "Healthy", "Healthy", "Healthy", "Healthy", 
                "Overweight", "Overweight", "Overweight", 
                "Overweight", "Overweight")
    )
    head(dataset)
    x <- dataset[,-2]
    y <- dataset[2]
    model_svm <- svm(Result ~ ., data = dataset)
    summary(model_svm)
    pred <- predict(model_svm, x)

但是我在predict的最后一行收到此错误:-

eval(predvars, data, env) 中的错误:找不到对象“BMI”

当子集您的数据集以创建x (和y )时,您隐式地删除了维度并且保留了列向量。 换句话说, x是一个向量,而不是一个数据框。 这是基本 R 数据帧子集运算符的一个恼人的属性。

你可以像这样避免它:

x <- dataset[, -2, drop = FALSE]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM