2

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

尝试创建一个名为“控制”的新变量,并在行变量等于这些数字时将其编码为 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)

它创建了一个名为“control”的新变量,但仅将 row=149 和 row=264 编码为 1。我真的无法弄清楚这一点。

谢谢你的帮助,克里斯

4

1 回答 1

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)
于 2012-12-12T03:34:49.703 回答