具有相同功能名称的包

时间:2016-01-26 20:07:43

标签: r ggplot2 dplyr

R中具有相同功能名称的库似乎非常烦人。解决以下问题的最简单方法是什么?

Attaching package: ‘dplyr’

The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union

添加library(stats)或将过滤器功能调用为stats::filter,而下面显示的其他功能对我来说无效。

library(ggplot2)
library(dplyr)
library(stats)
stats::filter
stats::lag 
base::union 
base::setdiff 
base::setequal 
base::intersect

# Reading in the data
data <- read.csv("data.csv", header = FALSE)

# Plots 
dataSummary  <- data %>% group_by(id) %>% summarise(data_count = x())
dataSummary
plotTest <- ggplot(dataSummary, aes(id, data_count)) + geom_bar(stat = 'identity')  + ggtitle("Test Title")
plot(plotTest) 

但是在执行绘图功能之前,这会继续发出上一条警告消息。有什么指针吗?或者无论如何要抑制这些警告并进行绘图?

1 个答案:

答案 0 :(得分:14)

  1. 如果您不想显示警告,请通过

    加载包裹
    library(dplyr, warn.conflicts = FALSE)
    

    然而,主要的缺点是它只是隐藏了问题,它并没有停止执行。如果您需要实际使用其中一个蒙版函数,可以像stats::lag(@alistaire)一样调用它。

  2. 不要使用掩盖基本功能的包。运行example("filter")(比如说​​)的一般想法是在加载包后给出不同的答案anti-social

  3. 一些包&#34;改进&#34;基本功能,因此屏蔽不是问题。

  4. 加载包裹的顺序很重要。首先加载的包是 首先在搜索路径中,如果您正在使用已经存在的函数 蒙面。有关见解,请参阅this answer

  5. 这个答案试图总结将要(最终)删除的许多评论。