1
我有一个数据帧,看起来是这样的:链ifelse有发生变异不工作
placeID <- c(001, 002, 003, 004, 005)
faultDscr <- c("6940 broken", "6122 not working", "6122 broken", "6940 not working", "printer not working")
partID <- c("PTR-HP-6940", NA, "PTR-HP-6122", NA, NA)
myData <- data.frame(placeID, faultDscr, partID)
我想创建一个新的变量,如果一个网站使用的是6122喷墨因为我dplyr管道的一部分来识别。新的变量应该包含Y或我用下面的代码N.:
library(dplyr)
inkjetSites <- myData %>%
mutate(inkjetSite = ifelse(partID == "PTR-HP-6122", "Y",
ifelse(is.na(partID) && grep("6122", faultDscr), "Y", "N")))
我希望能得到这样的输出:
inkjetSite <- c("N", "Y", "Y", "N", "N")
inkjetSitesCor <- data.frame(placeID, faultDscr, partID, inkjetSite)
不过,我不是有一个像输出:
inkjetSite <- c("N", NA, "Y", NA, NA)
inkjetSitesInCor <- data.frame(placeID, faultDscr, partID, inkjetSite)
任何帮助将不胜感激。