【问题标题】:Document Term Matrix will not maintain decimal places of numbers文档术语矩阵不会保留数字的小数位
【发布时间】:2017-03-14 01:21:59
【问题描述】:

在我更新我的 RStudio 版本之前,一切都很好。随着更新,“tm”包中的文档术语矩阵发生了一些变化。我想创建一个 dtm,但有数字。例如,如果我有一个包含一列的 .csv,如下所示:

x
1.01
11.21
123.35
212.11

我希望术语矩阵中的列名如下所示:

1.01 11.21 123.35 212.11
1    0     0      0
0    1     0      0
0    0     1      0
0    0     0      1

但它看起来像这样:

123 212
0   0
0   0
1   0
0   1

这是以前可以工作的代码:

corpus = Corpus(VectorSource(x)) dtm = DocumentTermMatrix(corpus) dtm_df = as.data.frame(as.matrix(dtm))

提前致谢

【问题讨论】:

  • 你有什么版本?我有 1.0.136 版,它似乎按您希望的那样工作。
  • 我也有 1.0.136 .....
  • 其实结果是:123 212作为列名。不是1 11 123 212 之前提到的@Lucy
  • 我已尝试卸载所有内容并重新安装,尝试了旧版本(Studio 0.99.489 和 R 3.3.1),但我得到了相同的结果。我请其他人对其进行测试,并且对他们有用。另外,我有人下载了 R、Rtools 和 RStudio 来测试它,他们得到了与我相同的结果。我不知道发生了什么,非常感谢您在这件事上的帮助,因为它非常紧急。

标签: r text-mining corpus term-document-matrix


【解决方案1】:

来自“tm”包维护者 Ingo Feinerer:

这是以前可以工作的代码:

语料库 = 语料库(向量源(x))

尝试使用 VCorpus() 而不是 Corpus()。

dtm = DocumentTermMatrix(语料库) dtm_df = as.data.frame(as.matrix(dtm))

这是非常低效的(因为 as.matrix() 从稀疏的术语-文档矩阵生成密集表示)。

最好的问候, 英戈

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 2015-05-19
    相关资源
    最近更新 更多