我的R代码从csv文件中读取数据。此数据具有标头并存储在data.frame mydata中。标头来自csv文件。
我想将数据缩放到[0,1]范围内,从而创建另一个名为scaled的空数据框。然后我循环遍历每一列并除以最大允许值,我假设最小值为零。
foreach(i = 1:ncol(mydata)) %do% {
if (i == 1){
maxval <-100 # Max depth = 100
}
else{
maxval <- max(mydata[,i],na.rm=TRUE)
}
scaled[,i] <- mydata[,i] / maxval
}
如何使用与mydata相同的标题和结构创建空缩放的data.frame?
非常感谢
答案 0 :(得分:0)
请尝试以下操作:
col1 <- 100:102
col2 <- 200:202
col3 <- 300:302
df <- cbind(col1,col2,col3)
firstrow = df[,1]/100 # first scaled by 100
scaled <- apply(df, 2, function(col) {col = col / max(col)})
scaled[,1]=firstrow
给出了
scaled
> scaled
col1 col2 col3
[1,] 1.00 0.9900990 0.9933775
[2,] 1.01 0.9950495 0.9966887
[3,] 1.02 1.0000000 1.0000000