有人可以解释R中%in%和%%运算符的定义和用例吗?我很难理解它们及其用例

时间:2019-06-05 16:32:36

标签: r dplyr operators

我很难理解%in%%%运算符的定义和用例。我将%in%理解为“在y中找到x个案例”。我对%%的含义及其背后的用例一无所知。我看过R中提供的操作员备忘单,但仍然有些困惑。我对tidyverse比较陌生。感谢您的帮助。谢谢。

我尝试查看R提供的各种操作员备忘单。

nov_dec <- filter(flights, month %in% c(11, 12))

depts <- filter(flights, dep_time %% 2400 <= 600)

1 个答案:

答案 0 :(得分:0)

%some_text%形式的运算符被称为“二进制运算符”,因为它们对两个自变量进行运算。 %%是取模运算符,采用两个数除法的余数:5%%2 = 1。匹配运算符%in%将一个值向量与另一个向量进行比较。您可以通过定义两个变量的函数来定义自己的二进制运算符,如下所示:

fun1 <- function(x1, x2) { x1 + x2 - 1 }
fun1(2, 3)
# [1] 4

'%fun2' <- function(x1, x2) { x1 + x2 - 1 }
2 %fun2% 3
# [1] 4

请注意,%fun2%定义周围的引号必须用于转义特殊的%字符。

有关更全面的概述,请参见以下旧答案:https://stackoverflow.com/a/25184220/11407644