让
vetA <- c(1,2,1,2,1,3,4,1,2,3,2,1,4)
有什么可能性可以进行以下交换?
交换:
-->
3 -->
4 -->
2 -->
1 我已经试过了:
vetB <- as.factor(vetA)
levels(vetB) <- c(3,4,2,1)
vetA <- as.integer(vetB)
# because
print(vetB)
# [1] 3 4 3 4 3 2 1 3 4 2 4 3 1
#Levels: 3 4 2 1
没用你能帮我一下吗?
最佳答案
一种可能的选择是使用match
:
vetA <- c(1,2,1,2,1,3,4,1,2,3,2,1,4)
old=c(1,2,3,4)
new=c(3,4,2,1)
new[match(vetA,old)]
输出:
3 4 3 4 3 2 1 3 4 2 4 3 1
希望这可以帮助!