0
下面R代碼裏面的優化是循環簡單:與列表
TSDF的類型是「POSIXct」「POSIXt」,幷包含時間戳列表。 LISTY是一個包含時間戳和它們各自的值的列表。 使用下面的FOR循環,我需要通過TSDF的整個長度,並且從TSDF中的任何時間戳也可以在DF中使用,我需要將它的值賦給newval。下面的代碼工作得很好,但如果TSDF太長,則需要很長時間。任何建議如何可以優化此代碼?提前致謝。欣賞。
for(i in 1:length(TSDF))
{
if(any(TSDF[[i]]==LISTY[[1]][,"DATETIMEST"]))
{
newval = LISTY[[1]][which(TSDF[[i]]==LISTY[[1]][,"DATETIMEST"]),"VALUE"]
}
else{newval = oldval}
if(any(TSDF[[i]]==LISTY[[2]][,"DATETIMEST"]))
{
newval = LISTY[[2]][which(TSDF[[i]]==LISTY[[2]][,"DATETIMEST"]),"VALUE"]
}
else{newval = oldval}
}
請包含示例數據集'TSDF'和'LISTY'。 –
這個問題可能更適合codereviews –
TSDF < - as.POSIXct(c(「2015-12-19 23:40:04」,「2015-12-20 00:00:02」,「2015-12- 20 00:00:13「,」2015-12-20 00:00:17「,」2015-12-20 00:00:22「,」2015-12-20 00:00:27「)) –