在R中写入if / ifelse函数

时间:2016-03-14 14:57:29

标签: r function variables if-statement dataframe

我正在尝试编写一个函数,以便使用if函数根据另一个变量(Site0)的条件创建变量(BBDR)。我使用if函数有以下代码。

africanaDamRate$BBDR<-ifelse(c(africanaDamRate$Site0==1, x1, NA), c(africanaDamRate$Site0==2, x2, NA), c(africanaDamRate$Site0==3, x3, NA), c(africanaDamRate$Site0==4, x4, NA))

但是当我尝试这个代码时,我收到了#34;该条件的长度大于1 ...&#34;

我还尝试使用ifelse函数,代码如下:

ErrorDocument 404 http://blablabla.com/404.php

但是得到&#34;未使用的参数&#34;错误。

有没有人对我如何做到这一点有任何想法(没有子集)?非常感谢!

瑞安

1 个答案:

答案 0 :(得分:2)

你的ifelse陈述是错误的。它可以这样写:

africanaDamRate$BBDR <- ifelse(africanaDamRate$Site0 == 1, x1, 
                               ifelse(africanaDamRate$Site0 == 2, x2, 
                                      ifelse(africanaDamRate$Site0 == 3, x3, 
                                             ifelse(africanaDamRate$Site0 == 4, x4, NA))))