Я пишу агрегатную функцию, используя R, и мне нужно вызвать функцию, определенную для агрегации peakdet_new
.
peakdet_new <- function(dmx, v, x = NULL)
{
....
if(nrow(data.frame(list(maxtab = maxtab)))== 1)
{
data.frame(DataMatrix=c(unique(dmx)), Status=c("OK"))
} else
{
data.frame(DataMatrix=c(unique(dmx)), Status=c("NOK"))
}
#list(maxtab = maxtab) #,mintab = mintab)
#return(maxtab)
# if(nrow(data.frame(list(maxtab = maxtab)) >= 1))
# {
# return(print("NOK"))
# } else
# {
# return(print("OK"))
# }
}
Что дает мне вывод:
peakdet_new(DMX_$DataMatrix, DMX_$X, DMX_$Y)
DataMatrix Status
1 00003275216311504500-A1820800306 NOK
Вот мой стол
DataMatrix X Y
00003275216311504500-A1812300356 0.23 30000
00003275216311504500-A1812300356 0.23 30483
00003275216311504500-A1829600367 0.41 30000
00003275216311504500-A1829600367 0.42 30483
И проблема в том, что я не знаю, как применить peakdet_new
к статистической функции, ниже того, что я сделал
data.agg <- aggregate(DMX_together[c('X', 'Y')], by = DMX_together['DataMatrix'], FUN = peakdet_new(DMX_together$DataMatrix, DMX_together$X, DMX_together$Y))
Error in match.fun(FUN) :
'peakdet_new(DMX_together$DataMatrix, DMX_together$X, DMX_together$Y)' is not a function, character or symbol
без аргументов
data.agg <- aggregate(DMX_together[c('X', 'Y')], by = DMX_together['DataMatrix'], FUN = peakdet_new)
Error in FUN(X[[i]], ...) : argument "v" is missing, with no default
Я ожидаю вывод агрегатной функции:
DataMatrix Status
1 00003275216311504500-A1820800306 NOK
2 00003275216311504500-A1829600367 NOK