2017-05-08 4 views
1

나는 단어 빈도 수가 적은 희소 행렬을 생성하기 위해 quanteda 패키지를 사용하고 있습니다. 출력이 보나 리가되도록 변경하기를 원합니다. 1 또는 0, 단어의 존재 여부는 모르겠지만 스파 스 매트릭스로이 작업을 수행하는 방법을 모르겠습니다.dfm 스파 스 매트릭스의 값 바꾸기

install.packages(quanteda) 

예 매트릭스

trainingset <- as.dfm(matrix(c(1, 2, 0, 0, 0, 0, 
        0, 2, 0, 0, 1, 0, 
        0, 1, 0, 1, 0, 0, 
        0, 1, 1, 0, 0, 1, 
        0, 3, 1, 0, 0, 1), 
        ncol=6, nrow=5, byrow=TRUE, 
        dimnames = list(docs = paste("d", 1:5, sep = ""), 
            features = c("Beijing", "Chinese", "Japan", "Macao", 
               "Shanghai", "Tokyo")))) 

답변

1

당신이 str(trainingset) 살펴있는 경우는 행렬의 슬롯을 볼 수 있습니다. 스파 스 매트릭스와 마찬가지로 x 슬롯에 데이터가 저장되어 있으므로

[email protected] <- as.numeric([email protected] > 0) 

Document-feature matrix of: 5 documents, 6 features (60% sparse). 
5 x 6 sparse Matrix of class "dfmSparse" 
    features 
docs Beijing Chinese Japan Macao Shanghai Tokyo 
    d1  1  1  0  0  0  0 
    d2  0  1  0  0  1  0 
    d3  0  1  0  1  0  0 
    d4  0  1  1  0  0  1 
    d5  0  1  1  0  0  1 
을 사용하면이 값을 변경할 수 있습니다.