Open1

R|ベクトルの要素を置換する

shiroqujirashiroqujira
# ベクトルの要素の置換
x <- c(1:5) # 1, 2, 3, 4, 5

# そのまんま
x[x==3] <- 10 # 3を10に置換
print(x) # 1  2 10  4  5

# `replace`関数
x <- c(1:5)
x <- replace(x, x == 3, 10) # 3を10に置換する
print(x) # 1  2 10  4  5

# 複数の場合
x <- c(1:5)
x <- replace(x, c(2, 3), c(20, 10)) # 2を20に, 3を10に置換
print(x) # 1 20 10  4  5
# x <- as.numeric(sapply(x, function(e) ifelse(e %in% c(2, 3), list("2"=20, "3"=10)[[as.character(e)]], e)))