我正在做一些处理,这是我的代码
wrongDateValues <- function(date){
wrongIndexes <- c()
wrongValues <- c()
for(value in date){
formattedDate <- strptime(value, "%Y%m%d")
if(is.na(formattedDate)){
wrongValues <- c(wrongValues, value)
wrongIndexes <- c(wrongIndexes, value)
}
}
wrongResults <- matrix(c(wrongValues, wrongIndexes), byrow = FALSE, ncol = 2)
colnames(wrongResults) <- c("WrongValues", "WrongIndexes")
return (wrongResults)
}
如你所见,现在在wrongIndexes
我正在保存值,因为**我不知道如何保存索引**
答案 0 :(得分:1)
您似乎只是想在向量中查找非日期值。没有for循环有更好的方法
wrongDateValues<-function(x) {
dt<-strptime(x, "%Y%m%d")
bad<-which(is.na(dt))
data.frame(WrongValues = x[bad], WrongIndexes=bad)
}
x<-c("20010605", "20120420","bad","20150101")
wrongDateValues(x)
在for循环中,您只能访问正在迭代的值,您无权访问当前索引。如果您需要当前索引,则需要迭代它而不是值本身。