【问题标题】:Having trouble calculating proportion of string in text mining with tidyr使用 tidyr 计算文本挖掘中字符串的比例时遇到问题
【发布时间】:2019-11-01 23:29:07
【问题描述】:

我记录了状态为AB 的参与者的讨论。

我想确定两个条件之间重复/共享的单词。

我已将小组讨论中的数据取消嵌套,以便在 column1 中给出实验条件 (A, B),并在 column2 中给出该条件中的一个单词。

Stop_words 已被删除,现在我想确定两个条件之间共享词的比例,以便最终绘制它们。

以下是我尝试过的。 Exp1a 是包含所有信息的数据框。 Condition 是 column1,每行有 AB

Word 是第 2 列。

Exp1b <- Exp1a %>%
      count(Condition, word) %>%
      group_by(Condition) %>%
      mutate(proportion = n / sum(n)) %>%
      select(-n) %>%
      spread(Condition, proportion) %>%
      gather(Condition, proportion, `A`:``B`)

这是数据样本

dput(head(Exp1a,6))
structure(list(Condition = c("B", "B", "B", 
"A", "A", "A"), word = c("events", 
"finance", "welfare", "attract", "purchasing", "type"), n = c(6L, 
6L, 6L, 3L, 3L, 3L), row.names = c(NA, 
6L), class = c("tbl_df", "tbl", "data.frame"))

我收到此错误:

Error: attempt to use zero-length variable name". 

我以前使用过这个版本,但我不知道我对这个新数据框做错了什么。

如果我也完全错了,我完全可以接受。

【问题讨论】:

  • 最后一行 B 之前的两个开盘价,也许?
  • 你能提供你的数据样本吗? dput
  • @ŁukaszDeryło 感谢您的关注。我删除了额外的刻度线。不幸的是,错误似乎仍然存在于第一行。
  • @CarlBoneri 我添加了上面的数据样本。
  • 我删除了额外的勾号,用as.data.frameExp1a 强制转换为data.frame ,然后一切运行...

标签: r dplyr tidyr


【解决方案1】:

只需在最后一行的B 之前删除一个额外的勾号,然后用as.data.frame()Exp1a 强制转换为data.frame

Exp1b <- Exp1a %>%
      as.data.frame() %>%
      count(Condition, word) %>%
      group_by(Condition) %>%
      mutate(proportion = n / sum(n)) %>%
      select(-n) %>%
      spread(Condition, proportion) %>%
      gather(Condition, proportion, `A`:`B`)

【讨论】:

    猜你喜欢
    • 2011-07-12
    • 2015-06-11
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 2022-01-14
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多