% select(LGA) select(dv, LGA) 他们都将因错误而失败 Unable to find an -6ren">
gpt4 book ai didi

r - 无法为签名 ‘select’ data.frame 找到函数 ‘"的继承方法"’

转载 作者:行者123 更新时间:2023-12-01 14:09:19 25 4
gpt4 key购买 nike

我正在尝试通过以下代码从数据框中选择列。

library(dplyr)
dv %>% select(LGA)
select(dv, LGA)

他们都将因错误而失败

Unable to find an inherited method for function ‘select’ for signature ‘"data.frame"’



但是下面的代码就可以了。
dplyr::select(dv, LGA)

这是包中的功能冲突吗?

导入的所有库如下。
library(jsonlite)
library(geojsonio)
library(dplyr)
library(ggmap)
library(geojson)
library(leaflet)
library(mapview)
library(RColorBrewer)
library(scales)

我是 R 的新手,所以非常困惑你们如何处理这样的问题?

最佳答案

有一个很棒的包可以帮助解决包冲突,称为 conflicted

如果您在控制台中键入 search(),您将看到一个有序的包向量,称为“搜索列表”。当您调用 select 时,R 将搜索此“搜索路径”并匹配名为 select 的第一个函数。当您调用 dplyr::select 时,您是直接从命名空间 dplyr 中调用 ,因此该函数按预期工作。

这是一个使用 conflicted 的示例。我们将加载 raster 和 dplyr,它们都有一个 select 函数。

library(dplyr)
library(raster)
library(conflicted)

d <- data.frame(a = 1:10, b = 1:10)

现在,当我们调用 select 时,会提示我们确切的冲突:
> select(d, a)
Error: [conflicted] `select` found in 2 packages.
Either pick the one you want with `::`
* raster::select
* dplyr::select
Or declare a preference with `conflict_prefer()`
* conflict_prefer("select", "raster")
* conflict_prefer("select", "dplyr")

关于r - 无法为签名 ‘select’ data.frame 找到函数 ‘"的继承方法"’,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56411834/

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