0
我在互聯網上發現了多個帖子,但是我仍然無法將「?」如我的老師所問,值爲「-1」。這是我的代碼:替換data.frame的值
>library(e1071);
>mammogram <- data.frame
>mammogram.frame = read.table("https://archive.ics.uci.edu/ml/machine-learning-databases/mammographic-masses/mammographic_masses.data",
sep=",",
col.names=c("Birads","Age","Shape","Margin","Density","Severity"),
fill=TRUE,
strip.white=TRUE)
>mammogram.frame[which(mammogram.frame=="?")]<-"-1"
>mammogram.frame
>summary(mammogram.frame)
>svm.model <- svm(Density~.,
data=mammogram.frame,
type="C-classification",
cost=1.0,
kernel="polynomial",
degree=2.0)
>svm.model
,當我運行的代碼中,mammogram.frame[which(mammogram.frame=="?")]<-"-1"
返回以下的輸出:
> mammogram.frame[which(mammogram.frame=="?")]<-"-1"
Error in `[<-.data.frame`(`*tmp*`, which(mammogram.frame == "?"), value = "-1") :
new columns would leave holes after existing columns
我也嘗試下面的代碼,但它在別的變換我的數據?
> mammogram.frame <- as.character(mammogram.frame)
> mammogram.frame[mammogram.frame == "?"] <- "-1"
> mammogram.frame
[1] "c(6, 5, 6, 5, 6, 5, 5, ...)
> mammogram.frame <- as.factor(mammogram.frame)
> mammogram.frame
[1] c(6, 5, 6, 5, 6, 5, 5, ...)
我的意思是說,它並沒有給我相同的視覺作爲一開始的時候我跑>mammogram.frame
..
任何想法通過「?」值爲-1?因爲它在我的工作>mammogram.frame[which(mammogram.frame=="?")] <- NA
謝謝!