Grepl in for循环,通过字符串
问题描述:
mdma4 <- unique(mdma4)
output <- c()
for (i in 1:length(mdma4)){
m <- (mdma4[i])
result <- mdma$MRP.Area[grepl('m', mdma$Material)]
if (length(result) == 0){
print('in if')
output <- c(output, result)
}
}
mdma4
包含向量:c("A", "B", ...)
。 mdma
是具有2列的数据帧。Grepl in for循环,通过字符串
我想从mdma4
传递一个字符串到mdma$Material
,并从mdma$MRP
找到对应的条目。区域 但grepl
代码不从相应的列中获取数据。
它是循环外的部分字符串匹配,下面的代码工作,但如果它在for循环,不工作。
test <- mdma$MRP.Area[grepl("GK180", mdma$Material)]
答
目前还不清楚您是在寻找完整的字符串还是部分字符串匹配。下列情况之一的应工作:
mdma$MRP.Area[grepl(m, mdma$Material)] #remove quotes around m
mdma$MRP.Area[grepl(mdma4[i], mdma$Material)] #not creating variable m
mdma$MRP.Area[mdma$Material == mdma4[i]] #full string match
仅供参考,关闭}
缺少
答
以下所有没有工作,当它是内环路 但工作以外的for循环
mdma$MRP.Area[grepl(m, mdma$Material)] #remove quotes around m
mdma$MRP.Area[grepl(mdma4[i], mdma$Material)] #not creating variable m
mdma$MRP.Area[mdma$Material == mdma4[i]]
如果提供更多信息或要求澄清,请使用评论或更新问题。复制答案并将其作为答案张贴无效。 – manotheshark