Проблема Вязание файла RMD с пользовательской функцией - PullRequest
0 голосов
/ 02 марта 2020

Я использую пользовательскую функцию из здесь , чтобы вычислить стандартные отклонения для столбцов ошибок в гистограмме ggplot. Он работает точно так же, как и при запуске кода, но когда я вяжу файл rmd, он возвращает «Ошибка: невозможно переименовать столбцы, которые не существуют. X Столбец« Длина »не существует».

Код функции:

summarySE <- function(data=NULL, measurevar, groupvars=NULL, na.rm=FALSE,
                      conf.interval=.95, .drop=TRUE) {
  library(plyr)

    length2 <- function (x, na.rm=FALSE) {
        if (na.rm) sum(!is.na(x))
        else       length(x)
    }

    datac <- ddply(data, groupvars, .drop=.drop,
      .fun = function(xx, col) {
        c(N    = length2(xx[[col]], na.rm=na.rm),
          mean = mean   (xx[[col]], na.rm=na.rm),
          sd   = sd     (xx[[col]], na.rm=na.rm)
        )
      },
      measurevar
    )

    datac <- rename(datac, c("mean" = measurevar))

    datac$se <- datac$sd / sqrt(datac$N)


    ciMult <- qt(conf.interval/2 + .5, datac$N-1)
    datac$ci <- datac$se * ciMult

    return(datac)
}

А затем строка, которая возвращает ошибку:

errorbars <- summarySE(lengths_data, measurevar = "Length", groupvars=c("Site","Animal"))

где "lengths_data" - это мой собственный набор данных, который имеет столбцы "Длина", "Животное" и "Сайт". Я не уверен, что вызывает ошибку вязания, но не вызывает никаких проблем при запуске кода. Есть идеи?

...