Я создаю эту функцию в R, которая создаст нормализацию. Столбец data2
, YearlyIncome
имеет большую разницу от минимального значения до наивысшего значения. Я хочу нормализовать значение преобразования от 0 до 1.Функция Ошибка в R, нечисловой аргумент для двоичного оператора
Значения значений функции приложения переписываются на YearlyIncome
.
> x <- data2$YearlyIncome
> a <- min(x)
> b <- max(x)
> fun <- function(x){ (x - a)/(b - a) }
> fun(data$YearlyIncome)
Error in data$YearlyIncome : object of type 'closure' is not subsettable
> fun <- function(x){ (x - min(x))/(max(x) - min(x)) }
> fun(data2[1])
Show Traceback
Rerun with Debug
Error in FUN(X[[i]], ...) :
only defined on a data frame with all numeric variables
But I got this error:
>Error in x - a : non-numeric argument to binary operator
Так что теперь делать?
Я просто ответил на этот вопрос по электронной почте, так это не исправить вашу проблему? Покажите нам полный фрейм данных 'data2'. –
Я бы использовал 'fun (data2 [, 1])' as 'data2 [1]' по-прежнему является data.frame. Кроме того, проверьте 'str (data2)', чтобы увидеть, является ли первый столбец числовой переменной. Я тестировал данные примера и работает для меня. – akrun
@akun so akun вы можете изменить свой ответ на него, заменит мои старые строки ошибки? например, я просто потерял то, что должно быть после определения моей функции fun <- function (x) {(x - min (x))/(max (x) - min (x))}? – Lee