test <- c(1,2,0,5,0)

which(test == 0)

test %>% which(.==0)
test %>% which(,==0)
test %>% which( ==0)

我正在try 找出如何通过管道将向量传递给Which()函数.使用哪个(test==0)可以得到想要的结果,但是在最后三行使用管道都会产生错误.我如何才能获得与使用管道相同的结果(test==0)?

推荐答案

使用{...}以防止点插入which中. 如果没有大括号,它将像which(., . == 0)中那样插入点作为第一个参数.

library(dplyr)

test %>% { which(. == 0) }
## [1] 3 5

对于Magrittr,我们可以使用equals

library(magrittr)

test %>% equals(0) %>% which
## [1] 3 5

要使用|>;,请创建一个包含test的列表,其中组件名称为点.

test |>
  list(. = _) |>
  with(which(. == 0))
## [1] 3 5

R相关问答推荐

从具有随机模式的字符串中提取值

使用预定值列表将模拟数量(n)替换为rnorm()

如何删除多个.CSV文件的行

在R中为马赛克图中的每个字段着色

可以替代与NSE一起使用的‘any_of()’吗?

如何通过ggplot2添加短轴和删除长轴?

迭代到DataFrame列并获得成对的值列表(col1->;col2、col2->;col3、col3->;col4等)的正确方法.

使用带有OR条件的grepl过滤字符串

展开对数比例绘图的轴(添加填充)

根据1个变量绘制 colored颜色 发散的 map ,由另一个变量绘制饱和度,ggplot2不工作

我们如何在R中透视数据并在之后添加计算

如何将一些单元格的内容随机 Select 到一个数据框中?

Geom_arcbar()中出错:找不到函数";geom_arcbar";

如何从嵌套数据中自动创建命名对象?在R中

为什么不能使用lApply在包装函数中调用子集

如何在R中创建这些列?

我已经运行了几个月的代码的`Palette()`中出现了新的gglot错误

如何将图例文本添加到图例符号中

如何在矩阵图中按标准对数据进行分组以绘制矩阵

根据小时-分钟列创建年-月-日序列