R 代码在整洁的文本中突然停止工作

Posted

技术标签:

【中文标题】R 代码在整洁的文本中突然停止工作【英文标题】:R code suddenly stopped working in tidy text 【发布时间】:2017-04-07 02:32:01 【问题描述】:

我正在尝试对 R 中的一些数据进行单词分析。我使用 read.csv 将来自调查的文本回复的一列数据导入 R。我将其中一列命名为 "text" 。这段代码几天前工作正常,现在突然给我一个错误。这是我输入的代码:

library(dplyr)

library(tidytext)

A1<-read.csv("/Users/Laura/Documents/A1.csv")

colnames(A1)= c("text")

A1<-A1%>%unnest_tokens(word, text)

我现在得到的错误是这样的:

check_input(x) 中的错误:输入必须是任意字符向量 长度或字符向量列表,每个字符向量的长度为 1.

我的数据没有改变,我使用的代码也没有改变。 :( 我真的不明白为什么会发生这种情况,而且我对 R 来说还很陌生......我需要加载另一个包,也许我之前已经加载过但没有意识到吗?

这是我的数据的链接: https://www.dropbox.com/s/amg12jp9qx98slz/A1.csv?dl=0

感谢您的帮助

【问题讨论】:

能否提供一个可重现的例子? 底层数据是否发生了变化,可能是因为 R 正在进行隐式类型转换,从而抛弃了 tidytext? 如何提供可重现的示例?抱歉,我不确定你的意思。 见how to create a reproducible example。理想情况下,您应该提供一些我们可以复制/粘贴到 R 中的内容,以便我们可以得到完全相同的错误 我添加了一个包含我的数据的保管箱链接。希望这会奏效。 【参考方案1】:

我刚刚使用了您在 Dropbox 上提供的数据,下面的代码似乎对我运行没有问题。也许尝试不以 CSV 格式读取它?

library(dplyr)
library(tidytext)
library(readr)

A1 <- data_frame(text = read_lines("~/Downloads/A1.csv")) %>%
    mutate(line = row_number())

tidyA1 <- A1 %>%
    unnest_tokens(word, text)

tidyA1
#> # A tibble: 332 × 2
#>     line  word
#>    <int> <chr>
#> 1      1 empty
#> 2      1  your
#> 3      1   cup
#> 4      1  step
#> 5      1    on
#> 6      1   the
#> 7      1  line
#> 8      2  safe
#> 9      2 space
#> 10     3 empty
#> # ... with 322 more rows

【讨论】:

所以我发现问题在于它正在读取数据作为一个因素而不是字符。所以如果我在执行 read.csv 时输入 stringsAsFactors=False 它现在可以工作了。但是我仍然很困惑为什么我以前不需要这一步,现在突然需要那样做......有什么想法吗? 您使用的代码现在也适用于我。谢谢。我仍然不确定为什么我会遇到这个问题,但至少我有一些解决方法! 啊,stringsAsFactors!它将get you every time!我强烈建议在使用 readr 库时阅读数据,因为它可以更一致地处理这个问题,并且意外因素水平不会回来意外地咬你。

以上是关于R 代码在整洁的文本中突然停止工作的主要内容,如果未能解决你的问题,请参考以下文章

toLowerCase() 突然停止在 Zapier 工作

搜索停止为“整个解决方案”工作

Ratchet IO Server 突然停止工作

UIButton 突然停止工作

Visual Studio Code 扩展突然停止工作

WCF 突然停止工作