我有以下数据框:
id<-c(1,2,3,4)
date<-c("23-01-08","01-11-07","30-11-07","17-12-07")
df<-data.frame(id,date)
df$date2<-as.Date(as.character(df$date), format = "%d-%m-%y")
在我的表的第 4 列中,我想根据日期将我的数据划分为 calib 和有效,这样 date <=2007-12-16 第四列应该是calib
,否则它应该是valid
我写了以下几行:
for ( i in 1:4)
if (df[i,3]<=2007-12-16)(df[i,4]="calib")else (df[i,4]="valid")
第一个问题是,通过执行此命令,第 4 列中的所有单元格都将变为valid
,并且似乎无法正确处理日期条件。所以我的第一个问题是我该如何解决这个问题。
第二个问题是我的真实数据框有 600000 行,执行这个命令需要几个小时。我想知道是否有任何方法可以更快地执行此命令并具有完整的 CPU 容量。
谢谢!