2016-04-18 9 views
2

Mein Datenrahmen, mein.data, enthält sowohl numerische als auch Faktorvariablen. Ich möchte nur die numerischen Variablen in diesem Datenrahmen standardisieren.Wie standardisiert man einen Datenrahmen, der sowohl numerische als auch Faktorvariablen enthält

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

Könnte die Standardisierung damit arbeiten? Ich möchte die Spalten 8,9,10,11 und 12 standardisieren, aber ich denke, ich habe den falschen Code.

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

Vielen Dank im Voraus

+3

'mydata zu standardisieren [sapply (mydata, is.numeric)] <- lapply (mydata [sapply (mydata ist. numerisch)], Maßstab, Mitte = WAHR, Maßstab = WAHR) 'vielleicht – Frank

Antwort

6

Hier ist eine Option

mydata[] <- lapply(mydata, function(x) if(is.numeric(x)){ 
        scale(x, center=TRUE, scale=TRUE) 
         } else x)