更新向量中的非连续值

时间:2015-05-03 21:47:57

标签: r vector

我有一个矩阵t3(唯一值= t1,其中包含10个值,从0:9开始随机,不连续)

set.seed(19)
t3 = c(matrix(sample(t1),5,5))

在向量中有25个值

t3
[1] 1 4 5 0 2 9 8 3 7 6 1 4 5 0 2 9 8 3 7 6 1 4 5 0 2

然后我需要使用一组新值更新矩阵t3,给定固定规则t2

t1 <-c(0,1,2,3,4,5,6,7,8,9)   
t2 <-c(0,1,3,2,5,4,7,6,9,8)
newrule <-rbind(t1,t2)

newrule
   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
t1    0    1    2    3    4    5    6    7    8     9
t2    0    1    3    2    5    4    7    6    9     8

预期结果将是向量t4,其中向量t3的值集t1已更新为t2

预期结果:

t4
[1] 1 5 4 0 3 8 9 2 6 7 1 5 4 0 3 8 9 2 6 7 1 5 4 0 3

1 个答案:

答案 0 :(得分:1)

以下

newrule[2, match(t3, newrule[1, ])]
## [1] 1 5 4 0 3 8 9 2 6 7 1 5 4 0 3 8 9 2 6 7 1 5 4 0 3