Нормализация данных с помощью R

У меня есть кадр данных с именем data, который содержит 5 столбцов и примерно 181 строку.

Я пытаюсь запустить некоторый алгоритм в этом кадре данных, но мне нужно заранее выполнить некоторую предварительную обработку и нормализовать столбцы, чтобы они имели ноль и 1. Я использую R и проблема в том, что у меня есть столбцы с нечисловыми данными, такими как это:

Name       ZwaveType ProprietesName Value                Date
Switcher19         0              2     1 2014-03-01 06:45:00
Switcher5          0              2     1 2014-03-01 07:00:00
Switcher15         0              2     1 2014-03-01 07:15:00
Switcher4          0              2     1 2014-03-01 07:14:30
Switcher15         0              2     0 2014-03-01 07:25:00
Switcher19         0              2     0 2014-03-01 07:45:00

Я хотел бы спросить, как я могу добиться нормализации с помощью R для этого случая?


r som
person user3603831    schedule 19.05.2014    source источник
comment
Что вы имеете в виду под нормализацией? Как вы хотите нормализовать свои данные?   -  person RHelp    schedule 19.05.2014
comment
Зачем нормализовать поля текста и данных, ProprietesName, Name?   -  person zx8754    schedule 19.05.2014
comment
Я хочу создать новый столбец для нормализации данных в соответствии со значением столбца и Dtae, чтобы разделить данные, имеющие значение 1, и те, которые имеют значение 0.   -  person user3603831    schedule 19.05.2014


Ответы (1)


Наверное, что-то вроде

col.classes <- sapply(mydata,class)
num.cols <- (col.classes=="numeric")
mydata[,num.cols] <- scale(mydata[,num.cols])
person Ben Bolker    schedule 19.05.2014
comment
как я могу использовать эту функцию sapply? и что вы подразумеваете под «классом», это класс пакета? - person user3603831; 19.05.2014
comment
Это должен быть полный, буквальный ответ: предполагается, что mydata - это ваш набор данных. class — это функция в базе R — см. ?class. - person Ben Bolker; 19.05.2014
comment
Я думаю, что, возможно, неправильно понял ваш вопрос. - person Ben Bolker; 19.05.2014
comment
Мой вопрос был о том, как использовать эту функцию, и мои данные не являются числовыми, я уже использовал функцию нормализации: нормализация (набор данных, byrow = TRUE), и у меня есть эта ошибка Erreur dans colMeans (x, na.rm = TRUE): 'x ' doit être numérique - person user3603831; 19.05.2014
comment
Я подумал об идее, чтобы нормализовать данные из моего фрейма данных. На самом деле я могу пропустить столбец «Имя» и заменить его идентификатором столбца (это уже числовой), поэтому единственный нечисловой столбец, который у меня все еще есть, — это «Дата», поэтому я думаю о просмотре своего фрейма данных и создам новый столбец на каждую дату. как я связываю значение, и для похожих дат я буду связывать одно и то же значение, но я до сих пор не знаю, возможно ли сделать это дело с R ?? - person user3603831; 19.05.2014