-1
私はベクトルの特定の値を置き換える関数を探していました。たとえば、値A
、B
、C
、D
とNA
を含む文字ベクトルを持っている、とあなたはF
とE
とNA
とA
を交換したいです。Rのベクトルの特定の値をどのように置き換えますか?
私は関数を記述しようとしましたが、以下のようになりました。それはうまくいくように見えますが、文字を要素に変えるなど、問題があります。例えば
recode <- function(x, old, new) {
u <- rep(NA, length(x))
for (i in 1:length(old)) {
if(is.na(old[i])) {
u[is.na(x)] <- new[i]
} else {
u[x == old[i]] <- new[i]
}
}
return(ifelse(x %in% old, u, x))
}
:
a <- sample(c("A", "B", "C", "D", NA), 20, replace = T)
recode(a, old = c("A", NA), new = c("E", "F"))
はおそらくすでにこれを行う機能があり、私はそれを発見していません!それとも誰かがこれを行う賢明な方法を知っていますか?
マイケルありがとう - それは私が探していたものです。 –