2016-11-03 8 views
1

Rコードがcsvファイルからデータを読み込みます。このデータはヘッダーを持ち、data.frame mydataに格納されます。ヘッダーはcsvファイルから取得します。同じ構造の空のデータフレームを初期化する

私は[0,1]の範囲内にデータを拡大し、scaledと呼ばれる別の空のdata.frameを作成したいと思います。私は各列をループし、最大許容値で割る、私は最小値がゼロだと仮定します。

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

を与えるあなたは 'スケールの空' とは何を意味するのですか? Emptyはデータがないことを意味し、データを拡大縮小したい、つまり空でないことを意味する「スケーリングされた」ことを意味する。 – rbm

+0

データフレームはスケーリングと呼ばれます。データフレームは最初は空です。私は上記のコードを使用して列ごとに記入します – Jane

答えて

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 
+0

ありがとう、これは私が持っている直ちの問題を解決します – Jane

関連する問題