=if(OR([a]="1",AND([b]<=50,[b]>0)),1,0) - Excel Formula
我如何将其写为R代码:
下面是我试过的代码
i = 1
for (i in 1: length(a))
{
if((dataframe$a[i] == 1) || ((dataframe$b[i] <= 50) && (dataframe$b[i}> 0)))
{dataframe$c[i] <- as.numeric(1);}
else
{dataframe$c[i] <- as.numeric(0);}
}
}
我收到以下错误:
错误:意外的数字常量: 错误:意外&#39;否则&#39; in&#34;其他 错误:&#34;中的意外数字常量 错误:意外&#39;}&#39;在&#34;}&#34;
答案 0 :(得分:2)
你可以尝试
within(dat, c <- ((0 < b & b <= 50 ) | a == 1) + 0 )
set.seed(25)
dat <- data.frame(a=sample(1:5, 100, replace=TRUE),
b= sample(-10:100, 100, replace=TRUE))