У меня есть data.list примерно так:
list(structure(list(group = c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L
), species = structure(c(3L, 3L, 1L, 3L, 3L, 2L, 3L, 1L, 3L,
1L, 3L, 1L, 3L, 1L, 2L, 4L, 1L, 4L, 2L, 3L, 3L, 3L, 2L, 2L), .Label =
c("Apiaceae",
"Ceyperaceae", "Magnoliaceae", "Vitaceae"), class = "factor"),
N = c(2L, 2L, 3L, 2L, 2L, 1L, 2L, 3L, 2L, 3L, 2L, 3L, 2L,
3L, 1L, 4L, 3L, 4L, 1L, 2L, 2L, 2L, 1L, 1L)), class = "data.frame",
row.names = c(NA,
-24L)), structure(list(group = c(1L, 1L, 1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L), species = structure(c(3L, 3L, 1L, 3L, 3L, 2L, 3L, 1L, 3L,
1L, 3L, 1L, 3L, 1L, 2L, 4L, 1L, 4L, 2L, 3L, 3L, 3L, 2L, 2L), .Label =
c("Apiaceae",
"Ceyperaceae", "Magnoliaceae", "Vitaceae"), class = "factor"),
N = c(2L, 2L, 3L, 2L, 2L, 1L, 2L, 3L, 2L, 3L, 2L, 3L, 2L,
3L, 1L, 4L, 3L, 4L, 1L, 2L, 2L, 2L, 1L, 1L)), class = "data.frame",
row.names = c(NA,
-24L)))
Я хочу применить my.fun, который был написан в пакете dplyr, к этому списку данных.Сначала я сгруппировал данные по «группе» и получил вывод функции, которая уже есть в R, а затем применил эту функцию к списку данных.Но вывод равен 0. вывода нет.Можете ли вы помочь мне выяснить ошибку?
my.fun <- function(x, y){
group_by(x, !!as.name(group)) %>%
mutate(out = diversity(N, "shannon"))
}
check <- lapply(colnames(list), function(x) {
my.fun(x$group, x$N)
})
Большое спасибо!