大家好,我想用正则表达式同时结合循环提取医嘱中的有关信息并生成一个新的数据框,但是遇到源数据不符合我写的正则表达式的时候,系统就会报错了,我不知道该怎么修改才可以跳过这些不符合格式的源数据,或者生成NA也行,希望得到各位大神的指教,谢谢大家。
l <- dim(df1)[1]
df3 <- as.data.frame(matrix(NA,nrow = 1, ncol = 6))
l3 <- 0
for (i in 1:l) {
df2 <- str_match_all(df4[i,2], "(\\d+-\\d+-\\d+)&([\u4E00-\u9FA5]+)&(\\d+)&&.*?[qQ](\\d+)h\\s?[×x\\*](\\d).*") [[1]][,-1]
n <- 1
l3 <- l3 + n
df3[l3,1] <- df4[i,1]
df3[l3,2:6] <- df2
}
colnames(df3) <- c("B.ID", "date", "milk.type","intake","hours","times")
breast.milk <- df3
系统报错:
Error in `[<-.data.frame`(`*tmp*`, l3, 2:6, value = character(0)) :
replacement has 0 items, need 5


雷达卡






。万一整错了呢,医嘱啊。
京公网安备 11010802022788号







