2014-10-16 4 views
1

내가 단어와 문서의 발생의 입력 탭 테이블이 발생 :것은 매트릭스

#  WORDS   DOCUMENTS 
1 chr1-1-5872   A_1 
2 chr1-5873-14436  A_2 
3 chr1-14437-17846  A_3 
4 chr1-17847-20294  A_2 
5 chr1-20295-22639  A_5 

을 그리고있는 나는 모든이, 주파수 행렬을 얻으려면

#      A_1 A_2 A_3 A_4 A_5 
1 chr1-1-5872   1  1 0  0  0 
2 chr1-5873-14436  0  0 0  0  0 
3 chr1-14437-17846  0  0 1  0  0 
4 chr1-17847-20294  0  1 0  0  0 
5 chr1-20295-22639  0  0 0  0  0 

나는 다음과 같은 명령을 시도 :

행과 같은 단어, 모든 문서 열로 이름 및 각 항목은 그 단어가 문서와 관련된 발견 횟수는 하지만 내가 가진 모든 내가 잘못 무엇

   A_1 A_2 A_3 A_5 
grouping.var 1 2 1 1 

입니까? 요청에 따라 어떻게 행 이름을 가진 행렬을 얻을 수 있습니까?

+1

중요한 정보를 포함하는 것을 잊은 것처럼 느껴집니다. –

답변

2

나는 qdap 패키지를 사용하고 있다고 생각합니다. 텍스트가 실제로 그런 것처럼 보이는 경우 (즉, 각 행이 실제로 단일 단어 인 경우) wfm은 잔인하며 데이터 스트립을 피하기 위해 많은 인수를 변경해야합니다. 데이터를 재구성하는 데 더 많은 관심이 있습니다.

library(qdap) 
as.wfm(with(tab, mtabulate(setNames(DOCUMENTS, WORDS)))) 

##     A_1 A_2 A_3 A_5 
## chr1-1-5872  1 0 0 0 
## chr1-5873-14436 0 1 0 0 
## chr1-14437-17846 0 0 1 0 
## chr1-17847-20294 0 1 0 0 
## chr1-20295-22639 0 0 0 1 
4

table 기능을 사용하여 : : 여기 접근 방식

table(df) 
#     DOCUMENTS 
# WORDS    A_1 A_2 A_3 A_5 
# chr1-1-5872  1 0 0 0 
# chr1-14437-17846 0 0 1 0 
# chr1-17847-20294 0 1 0 0 
# chr1-20295-22639 0 0 0 1 
# chr1-5873-14436 0 1 0 0 

우리는 또한 data.frame 수업 시간에 그것을 가지고 as.data.frame.matrix을 추가 할 수 있습니다

as.data.frame.matrix(table(df)) 
#     A_1 A_2 A_3 A_5 
# chr1-1-5872  1 0 0 0 
# chr1-14437-17846 0 0 1 0 
# chr1-17847-20294 0 1 0 0 
# chr1-20295-22639 0 0 0 1 
# chr1-5873-14436 0 1 0 0 

또는 사용 dcast 기능 (단지 일반적인 지식을) :

library(reshape2) 
dcast(df, WORDS ~ DOCUMENTS, length) 
#    WORDS A_1 A_2 A_3 A_5 
# 1  chr1-1-5872 1 0 0 0 
# 2 chr1-14437-17846 0 0 1 0 
# 3 chr1-17847-20294 0 1 0 0 
# 4 chr1-20295-22639 0 0 0 1 
# 5 chr1-5873-14436 0 1 0 0