Как использовать функцию replace() в R


Функцию replace() в R можно использовать для замены определенных элементов вектора новыми значениями.

Эта функция использует следующий синтаксис:

заменить(х, список, значения)

куда:

  • x : имя вектора
  • list : Элементы для замены
  • значения : значения замены

В следующих примерах показано, как использовать эту функцию на практике.

Пример 1: заменить одно значение в векторе

Следующий код показывает, как заменить элемент в позиции 2 вектора новым значением 50:

#define vector of values
data <- c(3, 6, 8, 12, 14, 15, 16, 19, 22)

#define new vector with a different value in position 2
data_new <- replace(data, 2, 50)

#view new vector
data_new

[1] 3 50 8 12 14 15 16 19 22

Обратите внимание, что элемент в позиции 2 изменился, но все остальные значения в исходном векторе остались прежними.

Пример 2: Замена нескольких значений в векторе

В следующем коде показано, как заменить значения нескольких элементов в векторе новыми значениями:

#define vector of values
data <- c(2, 4, 6, 8, 10, 12, 14, 16)

#define new vector with different values in position 1, 2, and 8
data_new <- replace(data, c(1, 2, 8), c(50, 100, 200))

#view new vector
data_new

[1] 50 100 6 8 10 12 14 200

Обратите внимание, что элементы в позициях 1, 2 и 8 изменились.

Пример 3: Замена значений во фрейме данных

В следующем коде показано, как заменить значения в определенном столбце фрейма данных, соответствующие определенному условию:

#define data frame
df <- data.frame(x=c(1, 2, 4, 4, 5, 7),
 y=c(6, 6, 8, 8, 10, 11))

#view data frame
df

 x y
1 1 6
2 2 6
3 4 8
4 4 8
5 5 10
6 7 11

#replace values in column 'x' greater than 4 with a new value of 50
df$x <- replace(df$x, df$x > 4, 50)

#view updated data frame
df

 x y
1 1 6
2 2 6
3 4 8
4 4 8
5 50 10
6 50 11

Каждое значение в столбце «x», превышающее 4, было заменено значением 50.

Все остальные значения во фрейме данных остались прежними.

Дополнительные ресурсы

В следующих руководствах объясняется, как использовать другие распространенные функции в R:

Как использовать функцию tabulate() в R
Как использовать функцию split() в R
Как использовать функцию match() в R
Как использовать функцию replicate() в R