初始化与另一个结构相同的空数据帧

时间:2016-11-03 14:58:57

标签: r dataframe

我的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?

非常感谢

1 个答案:

答案 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