gpt4 book ai didi

r - 做什么 。 (点)和 %(百分比)在 R 中是什么意思?

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

我的问题可能听起来很愚蠢,但我注意到 .%常用于R坦率地说,我真的不知道为什么要使用它。

我在 dplyr 看到过(以 here 为例)和 data.table (即 .SD )但我相信它也必须在其他地方使用。

因此,我的问题是:

  • . 是什么意思意思是?是某种R编码最佳实践命名法? (即 _functionName 经常用在 javascript 中,表示它是一个私有(private)函数)。如果是,规则是什么?
  • % 的相同问题,它也经常在 R 中使用(即 %in%%>% ,...)。

  • 我的猜测一直是 .%是一种快速调用函数的便捷方式,但方式 data.table使用 .不遵循这个逻辑,这让我感到困惑。

    最佳答案

    .在 R 中没有固有/神奇的含义。它只是您可以在符号名称中使用的另一个字符。但是因为它的类型非常方便,所以它被 R 中的某些函数和约定赋予了特殊的含义。这里只是几个

  • .用于查找 S3 通用方法实现。例如,如果您调用像 plot 这样的通用函数带有 lm 类的对象作为第一个参数,然后它将查找名为 plot.lm 的函数如果找到,请调用它。
  • 经常.在公式中表示“所有其他变量”,例如 lm(y~., data=dd)将回归 y在 data.frame dd 中的所有其他变量上.
  • dplyr 这样的库用它作为一个特殊的变量名来表示当前的data.frame,用于像do()这样的方法。 .他们可以很容易地选择使用变量名X。而是
  • 函数如 bquote使用 .()作为在表达式中转义变量的特殊函数
  • 以句点开头的变量被认为是“隐藏的”,不会以 ls() 显示。除非您调用 ls(all.names=TRUE) (类似于 UNIX 文件系统行为)

  • 但是,您也可以只定义一个名为 my.awesome.variable<-42 的变量。它将像任何其他变量一样工作。

    一个 %本身并不意味着什么特别,但是 R 允许您以 %<something>% 的形式定义自己的中缀运算符。使用两个百分号。如果你定义
    `%myfun%` <- function(a,b) {
    a*3-b*2
    }

    你可以这样称呼它
    5 %myfun% 2
    # [1] 11

    关于r - 做什么 。 (点)和 %(百分比)在 R 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27560450/

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