2017-12-29 30 views
1

데이터 프레임 df가 있습니다. 나는 모든 0을 1로, 모든 것을 0으로 대체하고 싶습니다. 또는 일반적으로 어떤 가치 (예 : 하나)를 찾아 값을 다른 것으로 대체해야한다면 가장 좋은 방법은 무엇입니까?데이터 프레임에서 0과 1로 대체하는 방법

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

그냥 전체 dataframe에서 1을 뺄 사용하는 것입니다? –

+1

R. @ cᴏʟᴅsᴘᴇᴇᴅ –

+3

에있는 'abs (df-1)'의 가능한 중복 [조건부 (\'에 기초한 데이터 프레임의 값 바꾸기] if \') 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

코드 골프는 데이터 집합을 무효로 +

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

@ 감사합니다,하지만 일반적인 경우에, 모든 값이 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)