2016-04-18 10 views
2

私のデータフレームmy.dataには、数値変数と係数変数が含まれています。私は、このデータフレーム内の数値変数だけを標準化したいと考えています。数値変数と要素変数の両方を含むデータフレームを標準化する方法

> mydata2=data.frame(scale(my.data, center=T, scale=T)) 
Error in colMeans(x, na.rm = TRUE) : 'x' must be numeric 

標準化作業はこれでできますか?私は8,9,10,11と12の列を標準化したいが、私は間違ったコードを持っていると思う。

mydata=data.frame(scale(flowdis3[,c(8,9,10,11,12)], center=T, scale=T,)) 

ここ予め

+3

'MYDATA [sapply(MYDATA、is.numeric)<標準化するための一つの選択肢である - lapply(MYDATA [sapply(MYDATA、であるが。数値)]、縮尺、中央=真、縮尺=真) 'おそらく – Frank

答えて

6

のおかげでは

mydata[] <- lapply(mydata, function(x) if(is.numeric(x)){ 
        scale(x, center=TRUE, scale=TRUE) 
         } else x) 
関連する問題