运营商|用于选择要加载的数据

时间:2015-03-10 09:57:57

标签: r

我想使用if加载我在脚本开头确定的csv文件中的数据。

我使用这个功能:

if(which_data == "data1") {tbl <- read.csv("aaa.csv")}

但是如果我将两个不同的名称添加到|,我想添加运算符OR which_data来加载我想要的数据。

该功能应如下所示:

if(which_data == "data1" | "data2") {tbl <- read.csv("aaa.csv")}

但问题是这样的运算符只能用于数字,逻辑或复杂类型。我还能做什么?

1 个答案:

答案 0 :(得分:3)

测试您的变量是否在“其中一个值中”:

if(which_data %in%  c("data1" ,"data2")) {tbl <- read.csv("aaa.csv")}

请注意,|不会执行您认为对数字类型执行的操作:

> 3 == 2|3
[1] TRUE
> 3 == 2|1
[1] TRUE

其测试(3==2) or (1)和R中的1评估为TRUE,因此表达式3==2|1为TRUE。