手头有一个问题,需要用循环解决。然而由于原始数据中有很多错误,因此执行到其中某一些数据的时候必然会出错,我的想法是,如何让R忽略这些错误,使循环能够继续下去,而不是一出错就什么结果都出不来。
为了说明我的问题,以下是一个简单的例子:
<br />
# 创建一个data frame,第一列除第二行之外,都是标准的日期格式<br />
dfm1 <- data.frame(Y = c("2001-01-01", "20020101", "2003-01-01"), V = 1:3)</p>
<p># 循环将dfm1的数值转存到dfm2中,由于dfm1第一列的第二行为非标准日期,因此该循环执行第二次时会报错,<br />
for (i in 1:3) {<br />
dfm2 <- data.frame(Date = as.Date(dfm1$Y[i]), Value = dfm1$V[i])<br />
}</p>
<p># 我只得到这个结果<br />
> dfm2<br />
Date Value<br />
1 2001-01-01 1</p>
<p># 我想得到的是如下一个data frame,即使第二行出错,能否让R忽略这个错误,跳过第二行(赋予其NA值即可),而不是中断整个操作<br />
> dfm2<br />
Date Value<br />
1 2001-01-01 1<br />
2 <NA> 2<br />
3 2003-01-01 3<br />
</p>