我有两列,a和b(列的长度约为85,000)。B是空的,a是用各种值填充的。如果值在列表c中,则需要用"Yes“填充b。如果值在列表d中,则需要用"No“填充b。如果它们都不在列表中,那么b可以留空或用NA填充(实际上无关紧要)。现在,我有一个带有if、if else和else语句的for循环。虽然这是有效的,但它并不快(大约需要20秒)。有没有什么方法可以用向量运算来加速呢?提前感谢!
for (i in 1:length(a)){
if(is.element(df$a[i],c) == TRUE){
df$b[i] <- "Yes"
}
else if (is.element(df$a[i],d) == TRUE){
df$b[i] <- "No"
}
else{
df$b[i] <- NA
}
}
https://stackoverflow.com/questions/50650376
复制相似问题