【问题标题】:Replace values in a dfm sparse matrix替换 dfm 稀疏矩阵中的值
【发布时间】:2017-05-08 19:59:55
【问题描述】:

我正在使用 quanteda 包来生成词频计数的稀疏矩阵。我想进行更改,以便输出是 bonary,所以简单地 1 或 0,是否存在这个词,但我不确定如何使用稀疏矩阵来做到这一点。

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"))))

【问题讨论】:

    标签: r sparse-matrix


    【解决方案1】:

    如果您查看str(trainingset),您可以看到矩阵的槽。与稀疏矩阵一样,x 插槽保存数据,因此您可以将其更改为二进制使用

    trainingset@x <- as.numeric(trainingset@x > 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 2021-11-25
      • 2017-07-02
      • 2017-10-21
      • 1970-01-01
      • 2017-06-07
      • 2013-05-28
      相关资源
      最近更新 更多