c()故障?

Chr*_*ady 2 r

不知道我在这里做错了什么,并希望得到任何帮助.

尝试创建一个名为"control"的新变量,并在行变量等于这些数字时将其编码为1,而在不变量时将其编码为0.

data$control= ifelse (data$row==c(146, 297, 313, 171, 262, 233, 292, 304, 264, 228, 279,      
281, 290, 277, 152, 161, 250, 263, 245,  83,  67, 101,  98, 251, 148, 155, 322, 265, 
159, 271, 278, 289, 274, 282, 158, 196, 154, 260, 163, 307, 272, 299, 300, 273, 167, 
286, 149, 316, 147, 162, 178), 1, 0)
Run Code Online (Sandbox Code Playgroud)

它创建一个名为"control"的新变量,但只将其编码为1表示row = 149和row = 264.我真的无法弄清楚这一点.

谢谢你的帮助,克里斯

Dav*_*son 11

你的意思是使用%in%而不是==:

data$control= ifelse (data$row %in% c(146, 297, 313, 171, 262, 233, 292, 304, 264, 228, 279, 281, 290, 277, 152, 161, 250, 263, 245, 83, 67, 101, 98, 251, 148, 155, 322, 265, 159, 271, 278, 289, 274, 282, 158, 196, 154, 260, 163, 307, 272, 299, 300, 273, 167, 286, 149, 316, 147, 162, 178), 1, 0)
Run Code Online (Sandbox Code Playgroud)