如何替换文本文件和矩阵之间的值?

时间:2016-01-05 15:00:26

标签: r

我的文字档案:

rf=read.table("C:\\data\\file.txt", sep="",header = TRUE)
    class c     
1     1  0    
2     3  1     
3     5  7    
4     9  12    

我的2个矩阵:

class=matrix(c(1,3,5,9),nrow=2,ncol=2,byrow = TRUE)
c=matrix(c(17,34,54,9),nrow=2,ncol=2,byrow = TRUE)
> class
      [,1] [,2]
[1,]    1    3
[2,]    5    9

> c
      [,1] [,2]
[1,]   17   34
[2,]   54    9

我需要根据文本文件c中的class替换rf中的所有值。期望的输出:

> c
     [,1] [,2]
[1,]   0   1
[2,]   7   12

1 个答案:

答案 0 :(得分:2)

我们可以使用match

c[] <- rf$c[match(class, rf$class)]

BTW,“class”和“c”是函数名,所以最好不要在命名对象中使用它。