【发布时间】:2015-02-04 20:43:23
【问题描述】:
我正在尝试从矩阵创建一组变量,这是我的代码
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
等等;有没有自动做的方法?谢谢
【问题讨论】:
-
要创建具有组合的矩阵,不手写它们。你不需要R,只需拿一张纸和一支铅笔。以编程方式执行此操作的一种可能方法是
outer(letters[1:11], letters[1:11], paste0) -
这是一个非常糟糕的想法,正如在 SO 上多次指出的那样。您不应该创建单独的变量,因为稍后单独引用它们将是一个真正的 PITA。
-
这是一个糟糕的主意,因为您将尝试创建一个名为“if”的变量,这是一个保留字。如果我是你,我会重新考虑这一点。
-
@Dr.Mike 保留字是他最少的问题。