Затраты времени в R

#r #date

#r #Дата

Вопрос:

У меня два свидания:

 > x
[1] "2019-12-06 01:32:30 UTC"
> y
[1] "2019-12-06 01:32:49 UTC"
 

Я хотел бы вычислить экспоненциальную величину их разницы:

exp(x-y)

Но я получил следующую ошибку

    Error in Math.difftime(df$RootTime[1] - df$Time[1]) : 
  'exp' not defined for "difftime" objects
 

Комментарии:

1. Вам нужно преобразовать x и y в числовые значения или напрямую преобразовать в числовые их разницу. Попробуйте использовать exp(as.numeric(x)-as.numeric(y))

2. Приведите его к числовому: exp(as.numeric(difftime(x, y, units="secs")))

Ответ №1:

Вы можете применить его к numeric и использовать units в difftime :

 exp(as.numeric(difftime(x, y, units="secs")))
#[1] 5.602796e-09
 

Данные:

 x <- as.POSIXct("2019-12-06 01:32:30 UTC")
y <- as.POSIXct("2019-12-06 01:32:49 UTC")
 

Ответ №2:

Преобразуйте его в числовой, прежде чем использовать exp

 exp(as.numeric(x - y, units = "secs"))
 

Лучше всего указывать единицы измерения, так как в противном случае это будет автоматически. Варианты для единиц измерения следующие units = c("auto", "secs", "mins", "hours", "days", "weeks")


difftime Явный вызов необязателен; - операторы вызывают его.

Ответ №3:

 exp(as.numeric(difftime(x, y)))

# Data: 
x <- as.POSIXct("2019-12-06 01:32:30",  tz = "UTC")
y <- as.POSIXct("2019-12-06 01:32:49", tz = "UTC")