R TermDocumentMatrix 행렬 병합

1 개요[ | ]

R TermDocumentMatrix 행렬 병합
R TermDocumentMatrix 행렬 문서 병합
tdm은 트리플릿(정확히는 simple_triplet_matrix)으로 데이터가 보관되므로, 대부분의 경우에 저장공간이 훨씬 절약된다.
  • 아래 방법은 tdm을 행렬로 이미 변환하고 본래의 tdm 정보를 날려버린 경우에만 사용
### 커스텀 함수 ###
zTdmMatrixMerge <- function(m1,m2){
  names <- names(dimnames(m1))
  colnames(m2) = as.character(as.numeric(colnames(m2)) + ncol(m1))
  m3 <- merge(m1,m2,by="row.names",all=T)
  rownames(m3) <- m3$Row.names
  m3$Row.names <- NULL
  m3[is.na(m3)] <- 0
  m3 <- as.matrix(m3)
  names(dimnames(m3)) <- names
  return(m3)
}
######

docs1 <- c("안녕, 안녕.", "반갑다, 친구들.", "반갑다, 친구야, 친구야")
docs1 <- iconv(docs1, "CP949", "UTF-8")
tdm1 <- TermDocumentMatrix(Corpus(VectorSource(docs1)),control=list(
  removePunctuation = T,
  stopwords = F)
)
m1 <- as.matrix(tdm1)
m1
##         Docs
## Terms    1 2 3
##   안녕   2 0 0
##   반갑다 0 1 1
##   친구들 0 1 0
##   친구야 0 0 2

docs2 <- c("안녕, 안녕.", "우리는 친구야.")
docs2 <- iconv(docs2, "CP949", "UTF-8")
tdm2 <- TermDocumentMatrix(Corpus(VectorSource(docs2)),control=list(
  removePunctuation = T,
  stopwords = F)
)
m2 <- as.matrix(tdm2)
m2
##         Docs
## Terms    1 2
##   안녕   2 0
##   우리는 0 1
##   친구야 0 1

zTdmMatrixMerge(m1,m2)
##         Docs
## Terms    1 2 3 4 5
##   반갑다 0 1 1 0 0
##   안녕   2 0 0 2 0
##   우리는 0 0 0 0 1
##   친구들 0 1 0 0 0
##   친구야 0 0 2 0 1

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}