我想在R中做一些数据处理。我有2个数据帧,一个是训练数据,另一个测试数据是所有数据都是分类的,并存储为因子变量。R因子值改变
数据中有一些NA,我试图将它们转换为“-1”。当我为训练数据做这件事时,情况会好起来,但不适用于测试数据。
有些东西在一个循环中改变了我运行的值,但我无法弄清楚什么。
这里是前:
> class(catTrain1[,"Cat_111"])
[1] "factor"
> class(catTest1[,"Cat_111"])
[1] "factor"
> table(catTrain1[,"Cat_111"])
1 2
726 25
> table(catTest1[,"Cat_111"])
0 1 2
1 503 15
这里的循环:
> for(i in 1:ncol(catTrain1)){
+ catTrain1[,i] <- as.factor(as.character(ifelse(is.na(catTrain1[,i]), "-1", catTrain1[,i])))
+ }
> for(i in 1:ncol(catTest1)){
+ catTest1[,i] <- as.factor(as.character(ifelse(is.na(catTest1[,i]), "-1", catTest1[,i])))
+ }
这里的后:
> table(catTrain1[,"Cat_111"])
1 2
726 25
> table(catTest1[,"Cat_111"])
1 2 3
1 503 15
我接一个角色看到加档 - >数值转换,但我不明白为什么会发生这种情况,特别是对于其中一个数据帧/循环。
有什么建议吗?
您能否提供一些数据? –