2014-07-25 2 views
-1

내가나는 다음과 같이 매트릭스 형식으로 변환 할

B038-82C81778E81C Toy Story 
B038-82C81778E81C Planet of the apes 
B038-82C81778E81C Iron Man 
9C05-EE9B44E8C18F Bruce Almighty 
9C05-EE9B44E8C18F Iron Man 
9C05-EE9B44E8C18F Toy Story 
8F59-9956070D8005 Toy Story 
8F59-9956070D8005 Gravity 
8F59-9956070D8005 Iron Man 
8F59-9956070D8005 Gone 
B52F-9936734525AF Planet of the Apes 
B52F-9936734525AF Bruce Almighty 

다음과 같이 트랜잭션 형식의 10 행 데이터 집합을 프로그래밍 R의 항목 매트릭스에 arules 트랜잭션 데이터 변환 (또는 TRUE/FALSE 깃발)

Matrix    Toy Story Planet of the Apes Iron Man Bruce Almighty Gone Gravity 
B038-82C81778E81C 1    1     1    0   0  0 
9C05-EE9B44E8C18F 1    0     1    1   0  0 
8F59-9956070D8005 1    0     1    0   1  1 
B52F-9936734525AF 0    1     0    1   0  0 

은 내 목록 conversio에서 다음 단계

TrnsDataset1<-read.transactions("~/Desktop/movieswid_1Copy.txt", format= c("single"), sep="\t", cols = c(1,2), rm.duplicates=TRUE); 
L <- as(TrnsDataset1,"list"); 
M <- as(L,"matrix") 
CM<- as (M,"ngCMatrix"); 

을 시도하지만, 한 N 나는 그래서 일부 행은 완벽하지만 일부 고유 ID가 나는 아래 형식의 목록을 원하는 \의 t와 \ n

와 영화 목록에 추가되고

B038-82C81778E81C c("Toy Story\nB038-82C81778E81C\tPlanet of the apes\nB038-82C81778E81C\tIron Man") 
9C05-EE9B44E8C18F c("Bruce Almighty","Iron Man","Toy Story") 

로 출력을 얻고있다 9C05-EE9B44E8C18F c ("Bruce Almighty", "Iron Man", "Toy Story")

이 방법을 통해 나는 필요한 결과를 쉽게 얻을 수있을 것이라고 믿습니다. 당신의 도움에 정말로 감사 할 것입니다.

답변

0

나는 두 가지를 원한다고 말하기 때문에 약간 혼란 스럽다. 스파 스 매트릭스를 원하면 목록 및 표준 매트릭스 변환을 건너 뛸 수 있습니다. 당신은이 참/거짓 값의 행렬을 (여기 공간에 맞게 생략)이다

4 x 6 sparse Matrix of class "ngCMatrix" 
        Bruce Almighty Gone Gravity Iron Man Planet Toy Story 
8F59-9956070D8005    . |  |  |  .   | 
9C05-EE9B44E8C18F    | .  .  |  .   | 
B038-82C81778E81C    . .  .  |  |   | 
B52F-9936734525AF    | .  .  .  |   . 

결과

TrnsDataset1 <- read.transactions(...); 
mm <- t(as(TrnsDataset1,"ngCMatrix")) 

을 할 수 있습니다. 목록 양식을 전혀 검토 할 필요가 없습니다.

관련 문제