2017-12-29 53 views
1

私はデータフレームdfを持っています。私はすべてのゼロを1と置き換え、データフレーム内のすべてゼロをゼロに置き換えたいと思います。あるいは、一般的に、あるもの(あるもののようなもの)を見つけて何か他のものに置き換える必要がある場合、最良のアプローチは何ですか?データフレーム内でOnesをゼロとゼロで置き換える方法

a b 
1 1 0 
2 0 1 
3 1 0 
4 0 0 
+2

を使用するのでしょうか? –

+1

R内の 'abs(df-1)' –

+3

重複している可能性があります。[条件付き(\ ')に基づいてデータフレーム内の値を置き換えます。 if \ ')statement in R](https://stackoverflow.com/questions/5824173/replace-a-value-in-a-data-frame-based-on-a-conditional-if-statement-in-r )またはより一般的に[辞書スタイルは複数の項目を置き換える](https://stackoverflow.com/questions/7547597/dictionary-replace-multiple-items) –

答えて

5

コードゴルフはちょうど全体のデータフレームから1を引くのデータセットを否定し、+

+(!df) 
# a b 
#1 0 1 
#2 1 0 
#3 0 1 
#4 1 1 
+0

@ありがとう、しかし、一般的なケースでは、この場合、何をすべきか(たとえば6)の値を持つゼロ? – yome

+0

@yome '1s'はどうですか? 'replace(df、!df、6)' – akrun

+0

を使用して、別の特定の値を1とすると5となります。 – yome

1
mydata=data.frame(a=c(1,0,1,0),b=c(0,1,0,0)); 
psych::reverse.code(c(-1,-1),mydata)