R 中的双冒号 (::) 是什么?

2023-12-14

我正在关注 Rbloggers 中的教程,发现双冒号的使用,我在网上查找,但找不到其使用的解释。 这是它们的使用示例。

df <- dplyr::data_frame(
  year = c(2015, NA, NA, NA), 
  trt = c("A", NA, "B", NA)
)

我知道它创建了一个数据框,但我不明白它们的目的。


正如您现在可能已经查找过帮助页面一样::有助于从该特定包访问确切的功能。当你加载时dplyr您可能收到如下消息..

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

因此,举例来说,如果您想使用intersectdplyr 或基础包中的函数,您需要使用::双冒号。用法如下

mtcars$model <- rownames(mtcars)
first <- mtcars[1:20, ]
second <- mtcars[10:20, ]
dplyr::intersect(first, second)
base::intersect(first, second)

更新:添加了附加说明

注意:加载库的顺序决定了特定功能的优先访问。不同包的开发人员倾向于使用相同的函数名称。然而,当 R 遇到一个函数时,它会按顺序运行特定会话已加载的不同库。您可以通过运行来检查会话中的包(.packages())

 [1] "tidyr"      "data.table" "dplyr"      "stats"     
 [5] "graphics"   "grDevices"  "utils"      "datasets"  
 [9] "methods"    "base"    

正如您在上面的示例会话中看到的,tidyr是我加载的最后一个库,它是 r 会话的第一个条目。因此,当您在代码中使用任何函数时,首先会在tidyr-> 那么data.table-> 那么dplyr依此类推,最后base包被查找。因此,在此过程中,当包之间存在函数名称重叠时,最后加载的函数名称会掩盖先前的函数名称。为了避免这种屏蔽,您可以在 R 代码中指定在何处查找该函数。因此,这里base::intersect,将使用基础库中的函数而不是dplyr。或者,您可以使用以避免加载完整的库。这有积极的一面,也有消极的一面。阅读链接并了解更多信息。

运行并检查差异。 这里有一些资源供您了解。

比较库()、require()、::

命名空间

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 中的双冒号 (::) 是什么? 的相关文章

  • 获取所有矩阵列逐元素乘积对的快速方法

    假设我有一个数字matrix set seed 1 mat lt matrix rnorm 1000 ncol 100 我想生成所有向量 它们是中所有唯一向量对的逐元素乘积的结果mat 我们如何改进下面的代码 all pairs lt t
  • 按具有作业的组划分的 R 分位数

    我有以下 df group rep seq 1 3 30 variable runif 90 5 0 7 5 df data frame group variable 我需要 i 按组定义分位数 ii 将每个人分配到相对于其组的分位数 因此
  • 优化 R 中的嵌套 for 循环

    我尝试加速下面的代码 但没有成功 我读到Rfast https cran r project org web packages Rfast Rfast pdf包 但我也未能实现该包 有没有办法优化R中的以下代码 RI lt function
  • 栅格堆叠后如何写入?

    我想操作几个光栅文件 然后再次写入它们 rasterfiles lt list files C data envi full names TRUE d1 lt overlay stack rasterfiles fun function x
  • R lubridate:当地语言的工作日

    如何获取本地语言的工作日和月份 My code library lubridate data lt c 10 02 2015 11 03 2015 data lubri lt dmy data wday data lubri label T
  • 无法在 Document-Term-Matrix 中看到 `RTextTools::toLower()` 文本的结果

    我尝试创建一个矩阵 为此我想降低文本 为此 我使用此 R 指令 matrix create matrix tweets 1 toLower TRUE language english removeStopwords FALSE remove
  • 标准 VBA 函数“找不到项目或库”

    因此 我必须在我的 PC 上运行别人的 Excel 应用程序 并且在标准函数 如日期 格式 十六进制 中间等 上收到 找不到项目或库 的信息 一些研究表明 如果我在这些函数前加上 VBA 前缀 如 VBA Date 中那样 它会正常工作 网
  • ggplot2 - 添加具有不同中断和标签的辅助 y 轴

    是否可以使用 ggplot2 手动向辅助 y 轴添加中断和标签 see bottom right 我希望在右侧 y 轴上有更紧凑的中断 代表条形 该图将作为基本情况 然后我将展示如何更改辅助 y 轴上的分隔符和标签 sapply c pip
  • 使用starts_with() 将 NA 替换为 0

    我正在尝试替换我的一组特定列的 NA 值tibble 这些列都以相同的前缀开头 所以我想知道是否有一种简洁的方法来使用starts with 函数从dplyr包可以让我做到这一点 我已经看到了有关 SO 的其他几个问题 但是它们都需要使用特
  • warnings() 在函数内不起作用?如何解决这个问题?

    op lt options warn 0 although doesn t work for any value of warn assign last warning NULL envir baseenv thisDoesntWork l
  • 在 R 中将时间间隔数据扩展为天数

    假设我有如下所示的数据 interval id indiv id role start date end date 1 1 A 2006 05 01 2006 06 16 2 1 B 2006 06 16 2006 10 16 3 1 A
  • 以编程方式触发 R 传单中的标记鼠标单击事件以获得闪亮效果

    我的问题与此相同 在 R 传单中触发标记鼠标单击事件以获得闪亮效果 https stackoverflow com questions 56962857 trigger marker mouse click event in r leafl
  • 连接多个用户的 R 闪亮会话

    最小可重现示例 library shiny ui lt fluidPage actionButton button1 Run 1 actionButton button2 Run 2 server lt function session i
  • 如何在 CF10 中确定闭包变量的范围?

    引自Adobe ColdFusion 10 使用闭包文档 http help adobe com en US ColdFusion 10 0 Developing WSe61e35da8d31851842acbba1353e848b35 8
  • R texreg:如何选择要显示的 gof 统计信息?

    我正在使用 texreg 通过 plm 生成面板回归的输出表 我想抑制所有 gof 统计数据的输出 这不是显示 R2 adj R2 和 N 我只想显示 adj R2 有谁知道一个简单的方法来做到这一点 好吧 这实际上很简单 只需在调用中包含
  • rpart是自动剪枝吗?

    Is rpart自动修剪 生成的决策树rpart比具有自动修剪功能的 Oracle Data Mining 生成的级别要多得多 否 但拟合函数的默认值可能会 提前 停止分割 对于 早期 的某些定义 See rpart control对于您可
  • 将日期时间字符串转换为 Date 类

    我有一个带有日期时间字符列的数据框 当我使用as Date 除了少数实例之外 我的大多数字符串都被正确解析 下面的示例有望向您展示发生了什么 my attempt to parse the string to Date uses the s
  • ggplot 图例标签内的希腊字母、符号和换行符

    我在尝试着 有换行符 自动或强制 对齐文本 左对齐或左右对齐 有希腊字母和百分号 在 gglot 图例标签内 我尝试了几种方法 但我似乎无法将我读到的所有技巧结合起来 我可以通过插入来换行 n进入标签 但这似乎不适用于希腊字母 不适用于图例
  • R闪亮主面板显示样式和字体

    我正在学习闪亮的应用程序 并且有一些关于调整布局的基本问题 特别是样式和字体 希望得到指点或明确的答案 谢谢 考虑一个基本的输入输出应用程序 用户在 sidebarPanel 中输入数据 然后在 mainPanel 中反应性地输出结果 如何
  • 从 data.frame 中提取时用 NA 填充缺失的列

    我有一个函数 它将具有某些列的数据框作为输入 columns a b z 现在我有一个数据框DF只有很少的这些列DF columns f u z 如果列不在其中 如何创建一个包含所有值为 NA 的列的数据框DF这与DF在柱子上 f u z

随机推荐

  • 防止按下 Enter 键时提交表单

    I have a form with two text boxes one select drop down and one radio button When the enter key is pressed I want to call
  • 为什么 rxjs 的 mergeMap 将数组变成单独的对象

    我根本不是 Typescript Javascript 或前端开发人员 我继承了Angular 13项目 有一个函数返回Observable
  • jQuery Mobile 如何在 jsfiddle.net 中工作?

    I have 这个简单的小提琴 它使用 jQuery mobile 但它不起作用 问 我缺少什么 在 管理资源 下 您还需要添加 jQM css 文件 http code jquery com mobile 1 0b2 jquery mob
  • 在 TemplateField 中用 Headertemplate 替换 HeaderText

    我有一个带有模板字段列的网格视图 TemplateFields 是这样的
  • sklearn 中留一交叉验证的 ROC 曲线

    我想绘制一个ROC曲线的分类器使用留一法交叉验证 好像有人问过类似的问题here但没有任何答复 在另一个问题中here据称 为了使用 LeaveOneOut 获得有意义的 ROC AUC 您需要 计算每次折叠的概率估计 每个折叠只包含 一个
  • 在 Android 中模拟键盘事件

    我有一个项目 我正在尝试触发键盘事件 我正在使用 Instrumentation Class 它在模拟器上运行得很好 但是当我在我的设备上启动它时 调用不起作用 有什么办法让它工作吗 另外 我在网上搜索了一些关于 IWindowManage
  • “npm run build”失败并出现 SyntaxError:Unexpected token

    我正在尝试将我的应用程序部署到 AWS 但在执行 npm run build 时遇到错误 这个错误似乎与 webpack config js 有关 但我不知道 因为我没有对该文件进行任何修改 我在这里发现了一个类似的问题 但没有多大帮助 S
  • 如何在 XAMPP 下配置 MySQL 以使用 IPv6 [关闭]

    Closed 这个问题是无关 目前不接受答案 我有 XAMPP v 3 1 0 出于测试目的 我需要使用 IPv6 格式连接到 MySQL 数据库 如何配置MySQL 找到我的 ini 更改 取消注释bind address for ipv
  • is_const::value 为 false ——为什么? [复制]

    这个问题在这里已经有答案了 为什么这个静态断言会触发 static assert std is const
  • 在 vue.js 路由加载之前检查权限

    有谁知道如何在渲染 vue js 路由之前检查用户的权限 我通过检查权限提出了部分解决方案created组件的阶段 created function var self this checkPermissions function resul
  • 如何使用 JavaConfig 从 Spring Security 中删除 ROLE_ 前缀?

    我正在尝试删除 Spring Security 中的 ROLE 前缀 我尝试的第一件事是 http servletApi rolePrefix 这不起作用 所以我尝试创建一个BeanPostProcessor如建议的http docs sp
  • 生命游戏数组索引越界

    我正在玩康威的生命游戏 我很确定我即将完成 但是当我运行它时 我得到Exception in thread main java lang ArrayIndexOutOfBoundsException 1 at game of life Ga
  • 从表中选择 *,其中日期 = 今天

    需要 PHP MySql 帮助 需要选择 今天 的所有记录 我的表有一列包含 unix 时间戳 我只想从表中选择 unix 时间戳 今天 很高兴在 Linux 命令行上执行此操作 只需要基本的 MySql 查询 我会选择 SQL 版本 SE
  • 显示 BLOB 图像 Laravel 4

    我在 mysql 上添加了 png 图像作为 BLOB 但是当我尝试检索它们时 我将它们作为文件获取 但无法显示为图像 下面是我的代码 控制器 public function post news image Input file image
  • 控制 ASP.Net MVC 中的输出缩进

    我的同事非常 热衷 将格式正确且缩进的 html 传送到客户端浏览器 这是为了使页面源代码易于被人阅读 首先 如果我有一个在站点中多个不同区域使用的部分视图 渲染引擎是否应该自动为我设置缩进格式 例如在 XmlTextWriter 上设置
  • ImageView圆角[重复]

    这个问题在这里已经有答案了 我希望图像有圆角 我实现了这个 xml 代码并在我的图像视图中使用它 但图像与形状重叠 我正在通过异步任务下载图像
  • ios音频单元remoteIO录音时播放

    我被要求将 VOIP 添加到游戏中 跨平台 因此无法使用 Apple gamekit 来做到这一点 已经有三四天了 我一直在努力让我的注意力集中在音频单元和远程IO上 我忽略了数十个示例等 但每次都只是对输入 PCM 应用简单的算法并在扬声
  • 使用 NSXMLParser 解析 XML

    我有一个关于 xml 解析的问题 通常 XML文件的样式是这样的
  • 如何在spark scala中使用带有2列的array_contains?

    我有一个问题 我想检查字符串数组是否包含另一列中存在的字符串 我目前正在使用下面的代码 该代码给出了错误 withColumn is designer present when array contains col list of desi
  • R 中的双冒号 (::) 是什么?

    我正在关注 Rbloggers 中的教程 发现双冒号的使用 我在网上查找 但找不到其使用的解释 这是它们的使用示例 df lt dplyr data frame year c 2015 NA NA NA trt c A NA B NA 我知