现有一个date.frame名为dataset, 其中有两个因子A和B, 取值均为“No"或者"Yes", 现在要根据A和B计算一个新的变量C, 要求为当A和B都是“No"的时候,C取值为“No”, 当A和B中任一个为“Yes”的时候,C取值为“Yes”, 我一开始写的代码如下:
dateset <- within(dataset, {
C <- "No"
C [A == "Yes" | B == "Yes"] <- "Yes"
})
结果出来C会有很多取值变为NA
而以下这种写法就没有问题:
dateset <- within(dateset, {
C <- NA
C [A == "Yes" | B == "Yes"] <- "Yes"
C [A == "No" & B == "No"] <- "No"
})
请问前面一种写法错在哪里?


雷达卡




京公网安备 11010802022788号







