首页 > 解决方案 > 在 RStudio 中运行 pivot_wider() 时这些错误消息的含义是什么?

问题描述

我是 R 的新手。有人可以帮助我吗?

我从以下位置导入 stackoverflow 数据提取的 CSV,

s <- read_csv("https://www.ics.uci.edu/~duboisc/stackoverflow/answers.csv")

然后,我将“标签”列中的不同值分成行,

ss1 <- separate_rows(ss, tags)

然后,我申请pivot_wider()“标签”列,

ss2 <- pivot_wider(ss1, names_from = tags, values_from = qs)

显示以下错误消息,

错误:内部错误: 中的compact_rep()负数ncompact_rep()运行rlang::last_error()以查看错误发生的位置。另外: 警告信息: 1:值不是唯一标识的;输出将包含列表列。

  • 用于values_fn = list抑制此警告。
  • 用于values_fn = length识别重复出现的位置
  • 用于values_fn = {summary_fun}汇总重复项 2:在 nrow * ncol 中:整数溢出产生的 NA

我在这些消息中搜索了不同的关键字,但无法找出这些错误的整体含义。有谁能帮助我吗?谢谢。

标签: rtidyr

解决方案


@Anoushiravan R:

非常感谢您再次提出友好的建议。

根据您的建议,我发现了这些错误消息,

> ss1 <- s %>%
+     separate_rows(tags) %>% 
+     select(qs, tags) %>%
+     group_by(tags) %>%
+     mutate(id = row_number()) %>%
+     ungroup() %>%
+     mutate(tags = if_else(tags == "", "unknown", tags))
> ss2 <- ss1 %>% pivot_wider(names_from = tags, values_from = qs, names_repair = "minimal")

Error: cannot allocate vector of size 5.4 Gb

以前,我总是收到另一条错误消息In nrow * ncol : NAs produced by integer overflow

然后,我谷歌In nrow * ncol : NAs produced by integer overflow并发现它可能与控制台窗格有关。见https://github.com/wrathematics/float/issues/17

另外,我删除了“全局环境”中的所有对象/数据集并重新启动 RS,现在我得到了你的结果。

由于我想在结果中包含所有列,因此我使用以下代码和错误从您的建议中删除“select(qs, tags) %>%”,

> ss1 <- s %>%
+     separate_rows(tags) %>% 
+     
+     group_by(tags) %>%
+     mutate(id = row_number()) %>%
+     ungroup() %>%
+     mutate(tags = if_else(tags == "", "unknown", tags))
> View(ss1)
> ss2 <- ss1 %>% pivot_wider(names_from = tags, values_from = qs, names_repair = "minimal")

Error: Internal error in `compact_rep()`: Negative `n` in `compact_rep()`.
Run `rlang::last_error()` to see where the error occurred.
In addition: Warning message:
In nrow * ncol : NAs produced by integer overflow

又出现In nrow * ncol : NAs produced by integer overflow了。

我用谷歌搜索了第一个重大错误,Error: Internal error in `compact_rep()`: Negative `n` in `compact_rep()但找不到好的答案。

我也尝试了与“group_by”的不同组合,但无法获得令人满意的结果。无论如何,非常感谢您的帮助。


推荐阅读