首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法找到用于签名的函数“select”的继承方法“data.frame”

无法找到用于签名的函数“select”的继承方法“data.frame”
EN

Stack Overflow用户
提问于 2019-06-02 02:37:52
回答 2查看 25.6K关注 0票数 13

我试图通过下面的代码从数据框架中选择列。

代码语言:javascript
复制
library(dplyr)
dv %>% select(LGA)
select(dv, LGA) 

两者都会因错误而失败。

无法找到用于签名的函数“select”的继承方法“data.frame”

但是下面的代码会很好。

代码语言:javascript
复制
dplyr::select(dv, LGA)

这是包中的函数冲突吗?

导入的所有库如下所示。

代码语言:javascript
复制
library(jsonlite)
library(geojsonio)
library(dplyr)
library(ggmap)
library(geojson)
library(leaflet)
library(mapview)
library(RColorBrewer)
library(scales)

我刚到R,你们怎么处理这样的问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-02 04:03:35

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

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

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

代码语言:javascript
复制
library(dplyr)
library(raster)
library(conflicted)

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

现在,当我们调用select时,我们会被提示出确切的冲突:

代码语言:javascript
复制
> 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")
票数 26
EN

Stack Overflow用户

发布于 2022-02-21 10:10:03

这个函数dplyr::select解决了我的问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56411834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档