我正在尝试搜索字符串中的字符
下面是我尝试过的代码
if grepl("<ERRCA0006>",df$t) {
cmnt = "Appfabric"
}错误:"}“中的意外”}“
发布于 2016-05-15 19:48:01
如果你只想测试datf$t中任何"“的出现,我认为第一个答案很好。但是,如果你想让cmnt测试datf中的每一行,我认为你可以用ifelse()函数来做这件事。
cmnt <- ifelse(grepl("<ERRCA006>", datf$t), "Appfabric", "NotFabric")或者,您可以使用for循环。
for (i in 1:nrow(datf)) {
if(grepl("<ERRCA006>", datf$t[i]) {
cmnt <- "Appfabric" } }发布于 2016-05-15 19:44:14
我想这会解决你的问题。它检查向量中是否有任何元素包含错误,并相应地分配cmnt。
if(sum(grepl("<ERRCA0006>",df$t)) > 0){
cmnt = "Appfabric"
}发布于 2016-05-15 20:12:20
你也可以使用sapply函数来代替循环。这里我给出了一个检查A字符并返回this is an A注释的例子。输出是一个列表,但如果需要,我们可以将其更改为字符向量(代码的最后一行)
df <- data.frame(t = sample(LETTERS[1:5], 10, replace = T))
cmnt <- sapply(df$t, function(x) if(grepl("A", x)) return("this is an A"))
cmnt <- as.character(cmnt)https://stackoverflow.com/questions/37237450
复制相似问题