【发布时间】:2021-08-13 01:56:10
【问题描述】:
我一直在尝试在 R 中使用 dplyr 总结一组数据。这是我一直在使用的代码,直到最近它一直运行良好。
library(tidverse);library(curl)
data<-read.csv(curl("https://raw.githubusercontent.com/megaraptor1/mydata/main/data.csv"))
data2<-data %>%
group_by(e.taxon) %>%
summarise(across(c(e.hbl,e.bm), weighted.mean, e.N),
N = sum(e.N))
“错误:summarise() 输入 ..1 有问题。
x 'x' 和 'w' 必须具有相同的长度
i 输入..1 是(function (.cols = everything(), .fns = NULL, ..., .names = NULL) ...。
i 错误发生在第 2 组:e.taxon = "Abrocoma_bennettii"。"
现在我知道了此错误的所谓原因:其中两列的长度不同或缺少值。但是,当我检查哪些列产生了错误时,它表示所有变量都具有相同数量的条目(即没有丢失数据)。
length(data$e.taxon)
length(data$e.hbl)
length(data$e.bm)
length(data$e.N)
我尝试搜索此错误消息以查看其背后是否有更多我可以使用的信息,但我找不到任何东西。真正奇怪的是这段代码在一些未知的更改之前运行良好,并且由于文件的设置方式,我无法轻松识别可能产生这种情况的新更改的位置(该示例是更大共享数据集的一部分)。我试图弄清楚为什么当所有数据都有完整的案例时 R 会返回此错误。
【问题讨论】:
-
你能显示
dplyr和你的R version的版本 -
您是否加载了任何其他屏蔽 dplyr 中的功能的包
-
@akrun 我有 dplyr 1.0.5 和 R 4.0.4。我加载了 dplyr,只有 dplyr,但我仍然收到错误。
-
我使用了 dplyr 1.0.6 和 R 4.1.0