#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. Спасибо за советы всем, теперь мне удалось внести изменения в код, и у меня есть столбцы ошибок для моего графика 🙂