Я думаю, что здесь есть ошибка:
if(class(x)=="matrix"){
return (apply(x,2,mm.norm, mode=mode, na.rm=na.rm))
}
Если честно, я не знаю, почему эта часть кода здесь, возможно, вы можете удалить ее. Первый оператор if проверяет ввод (матрица: да / нет). Второй запускает функцию рекурсивно, но я не понимаю, почему.
Но мне любопытно: ваш режим fs
: вы уверены, что это
((x-min(x)/max(x)-min(x)))
Надеюсь не знаю, что вы должны делать, но я бы ожидал
(x-min(x)) / (max(x) - min(x))