【发布时间】:2019-02-27 20:36:45
【问题描述】:
我必须创建一个函数 ans(a, b, x, y),它返回值 x,如果 a=1 b=1,如果 a=1 且 b=0,则为 y,否则为 0。
我正在使用这个命令:
ans<-function(a, b, x, y){
ifelse(a= 1 & b= 1, x, a= 1 & b= 0, y, 0)}
请有人指导一下。
谢谢
【问题讨论】:
标签: r statistics
我必须创建一个函数 ans(a, b, x, y),它返回值 x,如果 a=1 b=1,如果 a=1 且 b=0,则为 y,否则为 0。
我正在使用这个命令:
ans<-function(a, b, x, y){
ifelse(a= 1 & b= 1, x, a= 1 & b= 0, y, 0)}
请有人指导一下。
谢谢
【问题讨论】:
标签: r statistics
如果您键入?ifelse(),选项是测试、是、否。
在您的情况下,您有多个条件。所以也许你想要的是类似于:
ans<-function(a, b, x, y)
{
if(a==1 && b==1)
{
print(x)
}
else if (a==1 && b==0)
{
print(y)
}
else {
print(0)
}
}
【讨论】:
我们可以使用:
ans<-function(a,b,x,y){
target<-c(a,b)
ifelse(target<=0|target>1,0,ifelse(all(target==1),x,y))[1]
}
ans(1,0,4,5)
[1] 5
测试:
ans(9,0,4,5)
#[1] 0
【讨论】: