R代码用于规范化测试集

时间:2018-03-15 20:35:03

标签: r

我想以这种方式规范化数据:

(trainData - mean(trainData)) / sd(trainData)

(testData - mean(trainData)) / sd(trainData)

对于Train集合,我可以使用函数scale()。我该怎么做测试集?我尝试了lapply()函数的不同方式..但我没有成功。 非常感谢!代码的例子:

Train <- data.frame(matrix(c(1:100),10,10))
Test <- data.frame(matrix(sample(1:100),10,10))
scaled.Train <- scale(Train)
ct <- ncol(Test)
rt <- nrow(Test)
ncol(Train)
sdmatrix <- data.frame(matrix(,rt,ct))
for (i in 1:ct){
  sdmatrix[1,i] <- mean(Train[,i])
  sdmatrix[2,i] <- sd(Train[,i])
} 
Test <- rbind(Test, sdmatrix)
normTest <- function(x){
  a <- x[rt-1]
  b <- x[rt]
  x <- (x-a)/b
}
Test <- lapply(Test[1:(rt-2),],normTest)

0 个答案:

没有答案