Замена значений в R с помощью replace()
Development | Комментировать запись
Замена значений в R – очень простая процедура благодаря специальной функции replace().
При анализе данных вы часто сталкиваетесь с отсутствующими, отрицательными или неточными значениями в наборе данных. Естественно, эти значения также могут повлиять на результат анализа.
Таким образом, чтобы избежать подобных ситуаций и ложной точности, вы можете использовать функцию replace() в R – она позволяет заменить ложные значения приемлемыми.
Синтаксис функции replace()
Функция replace() очень проста, ее легко реализовать. Он включает в себя вектор, индексный вектор и значения замены, как показано ниже:
replace(x, list, values)
где:
- x – вектор, хранящий значения
- list – индексный вектор
- Values – значения, которые нужно вставить
Замена значения, присутствующего в векторе
В этом разделе мы посмотрим, как заменить значение в векторе.
В приведенных ниже примерах вы можете просмотреть функцию replace(), чтобы лучше понять ее синтаксис. Первое значение — это имя вектора, за которым следует индекс значения и, наконец, значение, которое нужно вставить.
df<- c('apple', 'orange','grape','banana') df "apple" "orange" "grape" "banana"
Давайте заменим второй элемент в списке:
dy<-replace(df, 2,'blueberry') dy "apple" "blueberry" "grape" "banana"
А теперь – четвертый:
dx<-replace(dy, 4, 'cranberry') dx "apple" "blueberry" "grape" "cranberry"
Замена значений NA на 0
В этом разделе мы покажем, как заменить на 0 значения NA, которые присутствуют во фрейме данных. Это входные данные, имеющие значения NA.
Замена значений NA на 0 выполняется с помощью одного фрагмента кода, как показано ниже.
#defines the data frame df<-airquality #replaces the NA values with 0 df[is.na(df)]<-0 df
Замена значения NA средним значением
Иногда в процессе анализа данных удалять целую строку или столбец только ради одного или нескольких значений NA – не самая хорошая идея. Удалять большинство значений просто нельзя, так как это может негативно повлиять на точность и результаты.
Чтобы устранить эту проблему, значения NA заменяются средним значением остальных данных. Этот метод оказался критически важным для получения хорошей точности без потери данных.
df<-airquality df df$Ozone[is.na(df$Ozone)]<-mean(df$Ozone, na.rm = T) round(df, digits = 0)
На изображении ниже обратите внимание на столбец Ozone, в котором значения NA заменены средним значением по столбцу.
Замена отрицательных значений на NA и 0
В этом разделе вы узнаете, как заменить отрицательные значения во фрейме данных на 0 и NA.
Это делается для того, чтобы избежать отрицательной тенденции результатов. Отрицательные значения, присутствующие в наборе данных, негативно влияют на анализ и приводят к ложной точности.
Взгляните на следующий пример:
the csv file df<-read.csv('negetivevalues.csv') df #replaces the negetive numbers with zeros data<-replace(df$entry2, df$entry2<0,0) data Output=> 0 654 345 876 34 98 0 98 67 0 45 761 #replaces the negetive values with NA's data1<-replace(df$entry2,df$entry2<0,NA) data1 Output=> NA 654 345 876 34 98 NA 98 67 NA 45 761
Итоги
Замена значений во фрейме данных — очень удобная функция, доступная в R для анализа данных. Используя replace(), вы можете заменять NA, 0 и отрицательные значения приемлемыми значениями и таким образом очистить большие наборы данных, подготовить их к анализу.
Читайте также: Основы программирования на языке R
Tags: R