Почему я получаю это сообщение об ошибке для неиспользуемого аргумента?

#r

#r

Вопрос:

Я писал этот раздел кода для создания полос ошибок для созданного мной графика, но в последнем разделе, где я определяю df2, я получаю сообщение об ошибке::

Ошибка в data_summary(антиоксиданты, varname = «выражение», groupnames = c(«пол», : неиспользуемые аргументы (varname = «выражение», groupnames = c(«пол», «ген»))

Кто-нибудь сможет объяснить, почему я получаю это сообщение и что я могу сделать, чтобы это исправить? Заранее спасибо.

 df <- antioxidants
df$gene <- as.factor(df$gene)
head(df)

data_summary <- function(antioxidants, expression, genes){
  require(plyr)
  summary_func <- function(x, col){
    c(mean = mean(x[[col]], na.rm=TRUE),
      sd = sd(x[[col]], na.rm=TRUE))
  }
  data_sum <- ddply(antioxidants, genes, .fun=summary_func,
                  expression)
  data_sum <- rename(data_sum, c("mean" = varname))
  return(data_sum)
}

df2 <- data_summary(antioxidants, varname = "expression", 
                    groupnames = c("sex", "gene"))
df2$gene=as.factor(df2$gene)
head(df2)
 

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

1. Когда вы вызываете свою функцию data_summary , вы предоставляете 2 аргумента varname , groupnames которые не существуют в функции, которая имеет 3 аргумента antioxidants , expression и genes

2. Ваше использование require является неправильным и подвержено, возможно, сложным ошибкам (не связанным с этой ошибкой). Если вы собираетесь использовать require , то получите его возвращаемое значение и что-то с ним сделайте. Если вам не нужно его возвращаемое значение, то используйте library . Использование require само по себе означает создание себе ненужных проблем.

3. Кстати plyr , он давно вышел на пенсию , и теперь с ним можно сделать почти все dplyr . Можете ли вы поделиться своими данными dput(antioxidants) и показать результат, который вы ищете.

4. Спасибо за советы всем, теперь мне удалось внести изменения в код, и у меня есть столбцы ошибок для моего графика 🙂