- 질문 게시판입니다.
Date | 22/12/07 17:13:19 |
Name | 소요 |
Subject | R 코드 효율화 |
임의화 검정 때문에 데이터가 배열될 수 있는 각 경우의 수에 해당하는 데이터들의 전체 집합을 구하려고 합니다. 완전 랜덤은 아니고 제약 조건이 있어서, 따로 R로 코드를 짜고 있어요. 예를 들어 학생 A가 실험 6, 7 학생 B가 실험 4, 6 에 지원했다고 하면 가능한 조합 1: 6, 4 가능한 조합 2: 6, 6 가능한 조합 3: 7, 4 가능한 조합 4: 7, 6 으로 학생을 실험에 배정하는(학생은 실험 1개에 무조건 참여, 1개 실험에는 여러 학생이 참여 가능) 경우의 모든 조합을 데이터 프레임으로 만드려고 해요. 무식하게 다중 for문을 굴려봤는데 for (a in c(6, 7)){ for (b in c(4, 5, 6)){ for (c in c(4, 6)){ for (d in c(1, 3)){ [합치는 식] } } } } for문을 17개를 겹치니 속도가 너무 느립니다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 경우의 수는 44만개 정도 되는데, 2시간 굴려도 13만개에서 허덕이네요. 대개 벡터 계산이 속도가 빠른 편이라 관련 함수 개발된 게 있나 찾아보려고 해도, 위에 다중 for문으로 구현하려고 하는 계산의 명칭을 모르니 검색 자체를 못하고 있네요. 제가 구현하고 싶은 다중 for문의 수학적 명칭 혹은 코드를 효율화 할 수 있을 다른 방법이 있을까요? 이 글 올리고 일단 자러 가야하기 때문에 답변 혹은 감사인사는 몇 시간 뒤에 드릴 수 있을 것 같습니다 ㅠ 0
|