函数中的条件计算

时间:2019-12-05 22:22:41

标签: r

我有一个函数,其参数之一是一个称为var的字符变量。 var是一个动态字符变量,在不同时间采用不同的元素组合。为了提供一些背景知识,我有一个名为comb_list的列表,该列表存储元素的不同组合,而var最终吸收这些元素。例如:

input = c("a", "b") ## elements

comb_list = do.call(c, lapply(seq_along(a), combn, x = variables_of_interest, simplify = FALSE)) ## making all combinations from a and b, and storing them in comb_list.

结果:

  

comb_list   [[1]   [1]“ a”

[[2]] [1]“ b”

[[3]] [1]“ a”“ b”

  

class(comb_list)## comb_list的类   [1]“列表”

     

class(comb_list [[1]])##其元素的类   [1]“字符”

然后我运行一个循环,使var接受comb_list的值。因此,首先var =“ a”,然后是“ b”,然后是“ a”,“ b”。在我的函数中,我只想在var中出现“ b”时才进行计算。 这是我使用dplyr所做的工作: if_else(“ b”%in%var,X,Y) 但这给了我错误” condition必须是逻辑矢量,而不是grouped_df/tbl_df/tbl/data.frame对象。 我不确定出了什么问题。任何帮助将不胜感激。

谢谢!

0 个答案:

没有答案