我想在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
我接一個角色看到加檔 - >數值轉換,但我不明白爲什麼會發生這種情況,特別是對於其中一個數據幀/循環。
有什麼建議嗎?
您能否提供一些數據? –