在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)
或调用filter函数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)
但这会在执行绘图功能之前始终发出先前的警告消息。有指针吗?还是有抑制这些警告并进行密谋的方法?
如果您只是不想显示警告,请通过
library(dplyr, warn.conflicts = FALSE)
但是主要缺点是它只是隐藏了问题,并没有停止执行。如果需要实际使用其中一个掩蔽函数,则可以将其命名为stats::lag
(@alistaire)。
不要使用掩盖基本功能的软件包。如果example("filter")
在加载程序包后运行(说)给出了不同的答案,则总体思路是anti-social
。
一些软件包“改善”了基本功能,因此屏蔽不是问题。
加载程序包的顺序很重要。如果您使用的是已屏蔽的函数,则第一个加载的软件包是搜索路径中的第一个软件包。请参阅此答案以获得一些见解。
这个答案试图总结将(最终)删除的许多评论。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句