Backtransform logdata, пакет и функция не работает? - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь выполнить обратное преобразование данных в таблице. Но я не могу заставить это работать. Кто-нибудь знает почему? Я хочу выполнить обратное преобразование всей таблицы, но сначала мне нужно заставить функцию работать, поэтому сначала пытаюсь использовать одну переменную.

trt <- c("A","B")
emmean <- c(0.95,0.23)
SE <- c(0.3,0.2)
df <- c(18.3, 24.6)
lower.CL <- c(0.60, 0.1)
upper.CL <- c(1.2, 0.5)

df <- data.frame(trt,emmean,SE,df,lower.CL,upper.CL)

library(confidence)
backtransform(df$emmean, type =  "log")

Error in backtransform(df$emmean, type = "log") : 
  could not find function "backtransform"

Ответы [ 2 ]

1 голос
/ 28 февраля 2020

И вы также можете использовать exp(df$emmean) вместо этого. На самом деле, это в основном то, что функция backtransform() делает в вашем случае.

Полный код:

#' Back-transformations
#'  
#' Performs inverse log or logit transformations.
#'
#' @param x value to back-transform
#' @param type type of transform (log, logit).
#'
#' @return backtransformed value
backtransform <- 
function(x, type = c("identity", "log", "logit", "none", NA_character_)) {
    switch(
        match.arg(type),
        log = exp(x),
        logit = exp(x) / (1 + exp(x)),
        x
    )
}
1 голос
/ 28 февраля 2020

Вам необходимо ввести следующее:

confidence:::backtransform(df$emmean, type = "log")
[1] 2.58571 1.25860

Как упоминалось @Dason, авторы пакетов не экспортировали эту функцию в NAMESPACE, делая ее несколько скрытой (невидимой).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...