2017-05-15 14 views
2

私は現在、唯一例えば値1と0R - データフレームの変更値を元の値に応じ

を有するラベルと呼ばれる列を含むデータフレームに取り組ん、

x1 | x2 | label 
0.1 0.2 1 
0.1 0.3 1 
0.2 0.5 0 

どのように私は値がラベル= 1、ラベルが1になった場合、ラベルは= 0、ラベルになる場合は-1

これは私が

x1 | x2 | label 
0.1 0.2 +1 
0.1 0.3 +1 
0.2 0.5 -1 
0を望んでいたよりも、構造体であることにより、列ラベルに変換することができます

また、列ラベルは現在数値型です。タスクを進めるには、それを係数に変更する必要があります。

ここを因子に変更するコードです。

df$label <- factor(df$label) 

通常、私はそれを変更するためにforループを実行します。しかし、時には、私が効果的ではないと思う長いforループを書くことになる多くのラベルがある状況があるかもしれません。

この場合、効果的な解決方法は何でしょうか。

ありがとうございました!

+0

labels引数を使用して、数値インデックスによってこれを行うことができます-1、 '+1')[(df1 $ label + 1)] 'または' factor'アプローチ 'factor(df1 $ label、lab els = c( ' - 1'、 '+1')) ' – akrun

+0

あなたはそれを持っています、答えを投稿しますか?、ありがとう –

答えて

2

私たちは「( `Cを試してみて値

c('-1', '+1')[(df1$label + 1)] 

を交換するか、 factor

factor(df1$label, labels = c('-1', '+1')) 

またはifelse

ifelse(df1$label>0, '+1', '-1') 
+1

ありがとうございました。 –

関連する問題