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

R “论点”;否";缺少,没有默认值,r,R,我需要根据下面R编程代码中所述的条件,将变量“TRTCD1”中的值分配到两个不同的类中,分别为1和2 z$Treatment1.class<-with(z, ifelse(TRTCD1 == 0 & TRTCD1 == 40, 1, ifelse(TRTCD1 >= 10 & TRTCD1 <= 30 & TRTCD1 == 50, 2))) z$Treatment1.class=10&TRTCD1我的猜测如下 ifelse(TRTCD1 ==

我需要根据下面R编程代码中所述的条件,将变量“TRTCD1”中的值分配到两个不同的类中,分别为1和2

z$Treatment1.class<-with(z, ifelse(TRTCD1 == 0 & TRTCD1 == 40, 1,
    ifelse(TRTCD1 >= 10 & TRTCD1 <= 30 & TRTCD1 == 50, 2)))

z$Treatment1.class=10&TRTCD1我的猜测如下

ifelse(TRTCD1 == 0 & TRTCD1 == 40,
       1,
       ifelse(TRTCD1 >= 10 & TRTCD1 <= 30 & TRTCD1 == 50, 2, *value if NO*)
)
ifelse(TRTCD1==0&TRTCD1==40,
1.

ifelse(TRTCD1>=10&TRTCD1此错误表示缺少else语句,应将其写入:

z$Treatment1.class<-with(z, ifelse(TRTCD1 == 0 & TRTCD1 == 40, 1,
    ifelse(TRTCD1 >= 10 & TRTCD1 <= 30 & TRTCD1 == 50, 2,<else code here>)))


z$Treatment1.class=10&TRTCD1
ifelse()
需要三个参数:测试、真值、假值。您的内部
ifelse()
只有两个参数。当测试为false时,您必须指定一个值。不清楚您试图对代码执行什么操作。您应该用文字描述您的意图。基本上,我想根据以下条件对TRTCD1变量中的值进行分类。如果TRTCD1等于0和40,则应将其分组为1。TRTCD1大于40a等于10且小于30且等于50,将分组为2。我尝试将假值指定为3,但没有生成正确的输出。所有值均分组为假(即3)。请告诉我是否有解决此问题的方法。请提供一个输入数据示例,以便我们测试可能的解决方案。这应该有效,以便您的数据出现问题。请在下面查找输入数据示例。trtcd1使用数据编辑您的原始问题,因为很难在注释中正确设置格式。如果可能,请ble,使用我提供的链接中描述的
dput()
。即使条件为真,我也会得到假值(即如果否)。看起来您已经用@Pascal的建议解决了这个问题:您的条件不可满足,它需要
TRTCD1>=10&TRTCD1