我有一个如下所示的数据框,其中第 2 列和第 3 列是因子。
radio <- data.frame(id = 1:6, snp1 = c("C/T", "C/T", "C/T", "Not aplif", "C/T", "Not amplf"), snp2 = c("A/G", "C/T", "A/G", "Not amplif", "C/T", "C/T"))
我想用“NOT AMPLIFIED”替换每个“Not amplif”,但请注意我在这个字符串中有拼写错误,唯一始终正确的部分是“Not”。所以我尝试了以下方法:
radio[ ,c(2,3)][grep("Not", radio[ ,c(2,3)], ignore.case = TRUE), ] <- "NOT AMPLIFIED"
但这可能给我一个错误,因为我正在处理因素。然后我尝试将其转换为字符。
radio[ ,c(2,3)] = lapply(radio[ ,c(2,3)], as.character)
我再次尝试了替换步骤,但现在我用“NOT AMPLIFIED”替换了整行,而不仅仅是我的目标字符串。
请帮忙。