从矩阵R创建变量

时间:2014-12-06 21:43:10

标签: r variables matrix

我正在尝试从矩阵创建一组变量,这是我的代码

matrix<-cbind(paste("a",letters[1:11],sep=""), 
paste("b",letters[1:11],sep=""),
paste("c",letters[1:11],sep=""),
paste("d",letters[1:11],sep=""),
paste("e",letters[1:11],sep=""),
paste("f",letters[1:11],sep=""),
paste("g",letters[1:11],sep=""),
paste("h",letters[1:11],sep=""),
paste("i",letters[1:11],sep=""),
paste("j",letters[1:11],sep=""),
paste("k",letters[1:11],sep=""))

所以我有一个矩阵,包含字母之间的所有组合,aa,ab,ac等等; 如果我想创建具有相同名称的变量并为每个变量赋值,我该怎么办? 例如

aa<-0
ab<-0

等等;是否有自动执行的方法?谢谢

1 个答案:

答案 0 :(得分:0)

考虑这种替代策略:

> m <- matrix(NA, 10, 10, dimnames=list(letters[1:10], letters[1:10]) )
> m[]  <- outer(1:10, 1:10, FUN="-")
> m
  a  b  c  d  e  f  g  h  i  j
a 0 -1 -2 -3 -4 -5 -6 -7 -8 -9
b 1  0 -1 -2 -3 -4 -5 -6 -7 -8
c 2  1  0 -1 -2 -3 -4 -5 -6 -7
d 3  2  1  0 -1 -2 -3 -4 -5 -6
e 4  3  2  1  0 -1 -2 -3 -4 -5
f 5  4  3  2  1  0 -1 -2 -3 -4
g 6  5  4  3  2  1  0 -1 -2 -3
h 7  6  5  4  3  2  1  0 -1 -2
i 8  7  6  5  4  3  2  1  0 -1
j 9  8  7  6  5  4  3  2  1  0

现在您可以使用字母对访问单个元素:

  

M [&#39; d&#39;&#39; F&#39]   [1] -2