2016-10-24 33 views
1

Ich möchte einige Spalten eines Datenrahmens in [0,1] transformieren.Datenrahmen Transcode 1-0

Ich habe ein Datenrahmen wie folgt aus:

Col1 Col2 Col3 Col4 Col5 
    A NO YES NO YES 
    B YES NO NO YES 

und ich möchte es verwandeln in:

Col1 Col2 Col3 Col4 Col5 
    A 0  1 0 1 
    B 1  0 0 1 

Transforming YES in 1 und NO in 0.

Wie kann ich es mit einer Schleife machen? Ich möchte eine Schleife setzen, weil ich 10 Spalten habe ... Also wäre es schneller ... Andererseits ist es möglich, die Indizes der Spalten ([,1:10]) zu verwenden? Was denken Sie?

Antwort

2

Angenommen, Ihre Variablen sind nicht Faktoren, können Sie einfach tun:

df[df == 'YES'] <- 1 
df[df == 'NO'] <- 0 
Verwandte Themen