我有一个R数据帧df
,如下所示:
ID End_week
2500076 1223
6801102 1325
6801282 1308
6803252 1426
9882106 1426
9894112 1217
我想插入一个新的列status
,其值为0/1 - 如果End_week等于1426则为1,否则为0。最终输出应如下所示:
ID End_week Status
2500076 1223 0
6801102 1325 0
6801282 1308 0
6803252 1426 1
9882106 1426 1
9894112 1217 0
我写了一个while循环,如下所示:
while(i<=length(df$End_week)) {
if(df$End_week[i]==1426) {
status[i] <- 1
} else {
status[i] <- 0
}
i=i+1
}
但是,我收到以下错误:
Error in if (df$End_week[i] == 1426) { :
argument is of length zero
我知道之前已经问过这个问题,所以我referred these answers,但在我的方案中没有找到它们。我检查了NA
列中的任何End_week
值,但没有任何值。有人可以建议出路吗?
答案 0 :(得分:1)
我建议研究数据帧子集,因为你错过了r的实质性好处。
df$Status <- 0
df$Status[df$End_week == 1426] <- 1