La funzione ConvertToLocal
in basso accetta un frame di dati di Names
e Times
e esegue una conversione di fuso orario con alcune istruzioni if. Come posso vettorizzare questo in modo da non usare i loop?Come vettorializzare questo ciclo
Grazie.
Ecco il codice:
ConvertToLocal<-function(data)
{
Name<-data$Name
Time<-data$Time
for(i in 1:length(Name))
{
if(Name[i]== "Bob" | Name[i] == "Al" )
{
Time[i]<-format(Time[i],tz="America/Los_Angeles")
}else if (Name[i] == "Mike" | Name[i] == "Tom")
{
Time[i]<-format(Time[i],tz="Asia/Singapore")
}else if (Name[i] == "Fred")
{
Time[i]<- format(Time[i],tz="Europe/London")
}
}
return(Time)
}
Time<-c(as.POSIXct("2015-02-03 14:27:35.943", tz = "UTC"),as.POSIXct("2015-02-03 14:27:35.943", tz = "UTC"),as.POSIXct("2015-02-03 14:27:35.943", tz = "UTC"),as.POSIXct("2015-02-03 14:27:35.943", tz = "UTC"))
Name<-c("BOB","Al","Mike","Fred")
data<- data.frame(Name = Name, Time = Time)
ConvertToLocal(data)
approccio piacevole con una tabella di ricerca – Rentrop