gpt4 book ai didi

r - vapply 中的错误...值的长度必须为 1,但 FUN(X[[11]]) 结果长度为 0

转载 作者:行者123 更新时间:2023-12-03 17:06:45 33 4
gpt4 key购买 nike

我从来没有非常熟练地使用 R 并且在缺席后回来所以我重新学习了很多。我有一个包含纬度和经度字段的数据集(命名数据)。一些观察值在这些字段中为“0”,这是无效数据。我正在写一个 R 笔记本来记录我的发现。

我有:

    Let's start by finding out how many records have 0 for latitude and longitude. If it's a great deal of records, we might not be able to rely on these fields:
```{r}
nrow(filter(data, latitude == 0.0))
nrow(filter(data, longitude == 0.0))
```
Okay, there are 12 rows that have 0 for latitude and 12 rows that have 0 for longitude. I'm willing to bet these are the same rows. Let's find out.

```{r}
filter(data, latitude == 0.0)
```

以 nrow() 开头的前两行都显示了我期望的输出:
[1] 12
[1] 12

但是,我希望输出符合过滤条件的 12 行的相同过滤器语句在我运行块时给我一个错误:
Error in vapply(x, obj_sum, character(1L)) : values must be length 1,
but FUN(X[[11]]) result is length 0

我不明白为什么我会收到这个错误。 'data' 变量是一个小标题,如果这有区别的话。

我肯定会感谢对这里发生的事情的解释。

最佳答案

我没有添加评论的声誉,因此将提供我的 2 美分作为答案,尽管它实际上并没有回答问题。

我遇到了类似的错误,我怀疑它与您数据中的列表列有关。这是一个可重现的示例:

```{r}
library (dplyr)
library (purrr)

# create data
mydata <-
tibble(col_a = rep(c("a", "b"), 5)) %>%
mutate(col_b = map(col_a, function (x) { list(a = x, b = x, c = x) }))

# filter
mydata %>% filter (col_a == "a")
```

当我将它复制/粘贴到控制台时,最后一行代码按预期执行。但是,当我从 R-markdown 文档中运行它时(在 R-studio 中使用“Ctrl+Enter”快捷键),它会产生错误:
Error in vapply(x, obj_sum, character(1L)) : values must be length 1,
but FUN(X[[1]]) result is length 3

错误消息的最终“长度”部分取决于 col_b 中列表的长度.

不知道该怎么办。解决方法可能是重新格式化任何列表列?

关于r - vapply 中的错误...值的长度必须为 1,但 FUN(X[[11]]) 结果长度为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42426914/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com