2016-05-04 4 views
0

Итак, у меня есть столбец, отображающий страну происхождения с каждого сообщения в Facebook. У меня также есть время создания сообщения. Что я хочу сделать, так это добавить 3 часа для каждого арабского сообщения. Затем я хочу добавить 5 часов для русских сообщений. Допустим, у меня 12 стран с 12 различными часовыми поясами, которые нужно добавить.Добавить часы по стране происхождения

Язык Р.

allCountries <- c("Arabia" , "Argentina", "Brazil", "Global", "India","Malaysia", 
          "Mexico","Poland","Sweden","Turkey","MaxTurkey","Ukraine","US") 

ответ

1

Учитывая

(df <- data.frame(datetime=rep(Sys.time(), 3), origin=c("arabian", "russian", "us"))) 
#    datetime origin 
# 1 2016-05-04 11:27:52 arabian 
# 2 2016-05-04 11:27:52 russian 
# 3 2016-05-04 11:27:52  us 
offset <- c("arabian"=3, "russian"=5) 

Тогда

transform(df, datetime=datetime + offset[origin]*60*60) 
#    datetime origin 
# 1 2016-05-04 14:26:12 arabian 
# 2 2016-05-04 16:26:12 russian 
# 3    <NA>  us 

или

transform(df, datetime=datetime + ifelse(origin %in% names(offset), offset[df$origin]*60*60, 0)) 
#    datetime origin 
# 1 2016-05-04 14:27:52 arabian 
# 2 2016-05-04 16:27:52 russian 
# 3 2016-05-04 11:27:52  us 
+0

даты Мои прийти в этом для mat 20/4/2016 13:12 in excel. – thanos