d <-
data.frame(
ID = 1:3,
code1 = c("033", "0331", "0033"),
code2 = c("034", "0354", "0345")
)
d.mat <- as.matrix(d[,-1])
pattern.per.column <- c("^033", "^034")
pattern.per.column <- paste0("^03", 3:4) # 同上;若pattern有規則的話
mat.bool <-
matrix(logical(1), nrow = nrow(d.mat), ncol = ncol(d.mat))
for (j in 1:ncol(d.mat)) {
mat.bool[, j] <- grepl(pattern.per.column[j], d.mat[, j])
}
cbind(d, mat.bool) # 為所求
ZCA8LQogIGRhdGEuZnJhbWUoCiAgICBJRCA9IDE6MywKICAgIGNvZGUxID0gYygiMDMzIiwgIjAzMzEiLCAiMDAzMyIpLAogICAgY29kZTIgPSBjKCIwMzQiLCAiMDM1NCIsICIwMzQ1IikKICApCmQubWF0IDwtIGFzLm1hdHJpeChkWywtMV0pCnBhdHRlcm4ucGVyLmNvbHVtbiA8LSBjKCJeMDMzIiwgIl4wMzQiKQpwYXR0ZXJuLnBlci5jb2x1bW4gPC0gcGFzdGUwKCJeMDMiLCAzOjQpICMg5ZCM5LiK77yb6IulcGF0dGVybuacieimj+WJh+eahOipsQptYXQuYm9vbCA8LQogIG1hdHJpeChsb2dpY2FsKDEpLCBucm93ID0gbnJvdyhkLm1hdCksIG5jb2wgPSBuY29sKGQubWF0KSkKZm9yIChqIGluIDE6bmNvbChkLm1hdCkpIHsKICBtYXQuYm9vbFssIGpdIDwtIGdyZXBsKHBhdHRlcm4ucGVyLmNvbHVtbltqXSwgZC5tYXRbLCBqXSkKfQpjYmluZChkLCBtYXQuYm9vbCkgIyDngrrmiYDmsYIK