2016-10-04 3 views
-2

같은 행에 1을 포함하는에 다음R : 어떻게 열이 나는 같은 데이터가

df 
col1 col2 col3 
0  0 1 
1  0 0 

나는 열은 값 1 반환을 가지고 각 행에서 말하는 결과를 얻을 싶습니다 나에게 열 이름. 고려 사항 열이있는 각 행에는 정확하게 "1"이 하나만 있습니다. 3보다 큰 값을 갖는 다른 값들이 있습니다. 3 개의 열만있는 새로운 데이터 사본을 만들지 않고, 열 이름을 추출하는 효율적인 방법이 있는지 알고 싶습니다.

+0

''max.col (DF)를 시도'또는 이름 (DF)는 [max.col (DF)]을'당신이 이름 –

+2

또는 무언가를 원한다면, 그냥 뭔가 –

+0

을 시도 내가 질문을 편집이다 각 행에서 가장 큰 값을 찾는 것과 같은 것이 아닙니다. – lll

답변

0
apply(df, 1, function(row_tmp){ 
    which(row_tmp == 1) 
}) 
+0

제 답변을 수락 해 주셔서 감사합니다. 컬럼 이름을 추출하라는 요청을했고, 단순히 함수 내의 부분을'names (df) [which (row_tmp == 1)]'로 변경하여 컬럼 이름을 얻었습니다. –

관련 문제