具有多个因素的预测数据框

院长威尔金森

我正在尝试为我运行的具有 2 个因子和一个连续变量的模型创建一个预测数据框。我想创建的数据框来绘制第一个因素的模型预测如下:

Preds.Month = data.frame(Month = factor(1:12), 
                         VegeType = factor(1:12), 
                         DistAgriLand = median(a$DistAgriLand, na.rm = TRUE))

但我收到这条消息:model.frame.default 中的错误(Terms, newdata, na.action = na.action, xlev = object$xlevels):因子 VegeType 有新的级别 6

但是,如果我从模型中删除因子 VegeType,重新拟合模型并尝试创建预测数据框,它可以正常工作。我不确定错误是什么以及如何解决它,任何帮助将不胜感激。我确实知道,尽管 VegeType 有 12 个级别,但如果这在错误中发挥作用,则只有 5 个级别中有数据。

以下是一些示例数据:

a = structure(list(Month = structure(c(9L, 9L, 9L, 9L, 9L, 9L, 9L, 
9L, 9L, 9L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
10L, 10L, 10L, 10L, 10L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 12L, 
12L, 12L, 12L, 12L, 3L, 4L, 6L, 6L, 8L, 8L, 10L, 10L, 12L, 12L, 
3L, 3L, 3L, 6L, 6L, 10L, 10L, 3L, 3L, 3L, 6L, 6L, 10L, 10L, 3L, 
6L, 6L, 10L, 10L, 3L, 6L, 6L, 10L, 10L, 3L, 4L, 6L, 6L, 8L, 8L, 
10L, 10L, 12L, 12L, 3L, 4L, 6L, 6L, 8L, 8L), .Label = c("1", 
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"), class = "factor"), 
    VegeType = structure(c(6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
    6L), .Label = c("1", "2", "3", "4", "5", "7", "8", "9", "10", 
    "11", "12"), class = "factor"), DistAgriLand = c(580.5, 580.5, 
    580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 
    580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 
    580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 
    580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 
    580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 580.5, 
    580.5, 580.5, 580.5, 594.37, 594.37, 594.37, 594.37, 594.37, 
    594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 
    594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 
    594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 
    594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 
    594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 594.37, 
    594.37, 594.37, 594.37, 594.37, 594.37)), row.names = c(NA, 
100L), class = "data.frame")
浪塘

尝试将缺少的级别添加到 VegeType:

Preds.Month = data.frame(Month = factor(1:12), 
                         VegeType = c(levels(a$VegeType),6), 
                         DistAgriLand = median(a$DistAgriLand, na.rm = TRUE))

输出:

   Month VegeType DistAgriLand
1      1        1      587.435
2      2        2      587.435
3      3        3      587.435
4      4        4      587.435
5      5        5      587.435
6      6        7      587.435
7      7        8      587.435
8      8        9      587.435
9      9       10      587.435
10    10       11      587.435
11    11       12      587.435
12    12        6      587.435

但是,更好的方法是确保在首先创建 vegeType 时,其中有 6 级。levels=(1:12),虽然当前在您提供的结构中,您的所有值都是“6”,但.Label = c(1,2,3,4,5,7,8,9,10,11,12). 您是否打算将 VegeType=6 标记为“7”?

最后,如果你想预测月份和蔬菜类型的所有级别,你可以这样做

Preds.Month = setNames(
  cbind(
    expand.grid(1:12, 1:12),
    median(a$DistAgriLand,na.rm=T)
  ), c("Month", "VegeType", "DistAgriLand")
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Facebook先知在具有多个时间序列的数据框中进行时间序列预测

jQuery的多个预测框关闭选项,具有删除功能

具有来自分类器的预测值的数据框

具有多个 n 数的时间序列数据预测

在输入数据中具有多个特征的时间序列预测

过滤具有多个条件的数据框

创建具有多个记录的数据框

重塑具有多个ID的数据框

创建具有多个数据框的熊猫数据框

如何从具有两个因素的数据框中创建嵌套列表?

当有多个因素时,使用 searborn.barplot 绘制熊猫数据框

在Pandas数据框中具有多个索引的数据透视

在单独的数据框中匹配具有多个标签的数据

将数据框分为两组时,您是否可以有多个变量贡献因素?大熊猫

ggplot2 具有多个因素的多行

lapply()输出为具有多个功能的数据框-R

删除熊猫数据框中具有多个关联的条目?

Pandas - 具有多个 csv 索引的数据框

具有多个键的熊猫数据框到json

来自具有多个条件的数据框的条件子集

如何使用熊猫简化具有多个索引的数据框?

在python数据框中创建具有多个名称的列

比较具有相同ID的Pandas数据框的多个值

具有多个日期时间的熊猫数据框

合并具有多个值的 Pandas 数据框

合并具有不同顺序列的多个数据框

计算具有多个列特征的数据框的欧式距离

将数据框转换为具有多个值的字典

如何使用R合并具有多个列的数据框?