2017-04-17 5 views
2

이 링크는 내 질문의 일부를 대답합니다 : How to randomize (or permute) a dataframe rowwise and columnwise?.R : 데이터 프레임을 열 방향으로 임의로 뒤집기

> df1 
    a b c 
1 1 1 0 
2 1 0 0 
3 0 1 0 
4 0 0 0 

열이 많다는 셔플은 열

열 이름뿐만 아니라 변경해야한다는 것입니다 내가 원하는
> df3 <- df1[,sample(ncol(df1))] 
> df3 
    c a b 
1 0 1 1 
2 0 1 0 
3 0 0 1 
4 0 0 0 

를 재정렬하는, 출력 df3 아래에 나와 있습니다. 행 단위 및 열 단위의 합계는 동일하게 유지되며 열 이름 만 재 할당됩니다. df4과 같은 것입니다. 이것을 어떻게 할 수 있습니까?

> df4 
    c a b 
1 1 1 0 
2 1 0 0 
3 0 1 0 
4 0 0 0 

PS : 어떻게 열을 기준으로 그 모양 행에서 df을 유지합니까? 내가 질문을 게시 할 때 서식이 붕괴됩니까?

답변

3

열 이름을 샘플링하면됩니다. 다음과 같음 :

names(df) <- names(df)[sample(ncol(df))] 
+0

고맙습니다. 그것은 위대하고 빠른 도움이었습니다. @P Lapointe, df 형식 지정에 올바른 방향으로 나를 가르쳐 주시겠습니까? – Rav

+0

@Rav 다른 사용자의 태그를 추가했지만 질문이 무엇을 의미합니까? – 989

+1

@P Lapointe가 올바른 형식으로 df를 가져 오기 위해 제 질문을 편집했습니다. 내 PS 코멘트를 참조하십시오. 나는 단지 그것을 알고 싶었 기 때문에 나는 그것을 다시 반복하지 않는다. – Rav