R “论点”;否";缺少,没有默认的ifelse

R “论点”;否";缺少,没有默认的ifelse,r,R,我想在变量x的不同类别上创建另一个二进制变量y条件 如果变量x是“a”或“b”或“c”,我希望y等于1,如果x是“d”或“e”y=0 我的代码如下 data$y <- ifelse(data$x == "a" | data$x == "b" |data$x == "c", 1, ifelse(data$x == "d" | data$loan_status == "e" ,0)) data$yifelse需要3个参数,第一个称为test,第二个称为yes,第三个称为no 您的内部ife

我想在变量
x
的不同类别上创建另一个二进制变量
y
条件

如果变量
x
是“a”或“b”或“c”,我希望
y
等于1,如果
x
是“d”或“e”
y=0

我的代码如下

data$y <- ifelse(data$x == "a" | data$x == "b" |data$x == "c", 1, 
ifelse(data$x == "d" | data$loan_status == "e" ,0))

data$y
ifelse
需要3个参数,第一个称为
test
,第二个称为
yes
,第三个称为
no

您的内部
ifelse
语句只有两个参数,这是不够的:

ifelse(data$x == "d" | data$loan_status == "e", 0)
因此,缺少第三个参数,
no
。我建议将其设置为类似于
NA
,这样,任何不符合任一条件的内容都将被设置为缺少的值
NA

作为旁注,%
中的
%函数比许多ORs更易于使用。我将用以下两种方法之一重写您的代码:

# this is nice and simple if you are sure data$x only takes values
# a,b,c,d,e
ifelse(data$x %in% c("a", "b", "c"), 1, 0)

# this is good if there is even a tiny chance data$x has other values
# it will flag the other values as NA
ifelse(data$x %in% c("a", "b", "c"), 1, ifelse(data$x %in% c("c", "d"), 0, NA))

ifelse
需要3个参数,第一个称为
test
,第二个称为
yes
,第三个称为
no

您的内部
ifelse
语句只有两个参数,这是不够的:

ifelse(data$x == "d" | data$loan_status == "e", 0)
因此,缺少第三个参数,
no
。我建议将其设置为类似于
NA
,这样,任何不符合任一条件的内容都将被设置为缺少的值
NA

作为旁注,%
中的
%函数比许多ORs更易于使用。我将用以下两种方法之一重写您的代码:

# this is nice and simple if you are sure data$x only takes values
# a,b,c,d,e
ifelse(data$x %in% c("a", "b", "c"), 1, 0)

# this is good if there is even a tiny chance data$x has other values
# it will flag the other values as NA
ifelse(data$x %in% c("a", "b", "c"), 1, ifelse(data$x %in% c("c", "d"), 0, NA))

data$x==“d”| data$loan\u status==“e”
FALSE
问题
参数“no”缺失,没有默认值,这就是为什么你必须错误地说出你的答案,并且它包含你的答案…当
data$x=“d”| data$loan\u status==“e”时,它在询问值
FALSE
问题
参数“no”缺失,没有默认值,这就是为什么您必须错报答案的原因,它包含您的答案。。。