我想要做
am<-0
an<-0
bm<-0
bn<-0
cm<-0
cn<-0
.....
.....
和儿子一直到zn。有没有办法不用写这么多
我想要做
am<-0
an<-0
bm<-0
bn<-0
cm<-0
cn<-0
.....
.....
和儿子一直到zn。有没有办法不用写这么多
您可以使用 assign 按名称创建变量:
for (first in letters[1:3]) {
for (second in letters[13:14]) {
assign(paste(first, second, sep=""), 0)
}
}
可能更好的方法是使用这样的数据框:
df <- data.frame(
name=paste(rep(letters[1:3], each=2), rep(letters[13:14], 3), sep=""),
value=0
)
如果您已经将您定义为一个单独的变量,则将它们聚合到向量中的一种方法是:
vars <- unlist(mget(ls(pattern='^[a-z](m|n)$')))
然后很容易像这样初始化你的向量:
vars <- 0