Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在测试中拆分数据帧和在R中拆分训练集时如何保持各级分类变量_R_Categorical Data - Fatal编程技术网

在测试中拆分数据帧和在R中拆分训练集时如何保持各级分类变量

在测试中拆分数据帧和在R中拆分训练集时如何保持各级分类变量,r,categorical-data,R,Categorical Data,有时,当将具有分类列的数据帧拆分为测试和训练集时,训练集不会包含所有级别的分类变量。然后,当您训练模型并尝试预测测试集时,预测将失败,原因是: 例如: x <- data.frame(...) # data frame with columns with very dispersed categorical variables set.seed(123) smp_size <- floor(0.75 * nrow(x)) train_idx <- sample(seq_len(

有时,当将具有分类列的数据帧拆分为测试和训练集时,训练集不会包含所有级别的分类变量。然后,当您训练模型并尝试预测测试集时,预测将失败,原因是:

例如:

x <- data.frame(...) # data frame with columns with very dispersed categorical variables
set.seed(123)
smp_size <- floor(0.75 * nrow(x))
train_idx <- sample(seq_len(nrow(x)), size = smp_size)
train_set <- x[train_idx, ]
test_set <- x[-train_idx, ]
m <- lm(some_formula, data=train_set)
predict(m, newdata=test_set)

Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) :  
    factor xxxx has new levels yyy ...

插入符号函数createDataPartition()试图处理您描述的问题

根据上面的示例,您应该能够这样使用它:

train\u idx