Функцию 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