这是一个小例子:
temp<-0
a1<-1
a2<-2
a3<-3
a4<-4
for(i in 1:4) {
temp<-temp+a* # temp+a1|a2|a3|a4 ...
}
我怎么能意识到这一点?
新例子:
matrix1<-cbind(rep(Sys.time(),4),matrix(1:8,nrow=4))
matrix2<-cbind(rep(Sys.time(),4),matrix(2:9,nrow=4))
matrix3<-cbind(rep(Sys.time(),4),matrix(3:10,nrow=4))
temp<-matrix(0,nrow=4,ncol=2)
for(i in 1:3) {
temp<-temp+ ? # temp = matrix1[,2:3] + matrix2[,2:3] + matrix3[,2:3]
}
这只是一个例子。我有50-150个矩阵
答案 0 :(得分:1)
可能将这些值放在一个向量中:
temp<-0
a<-c(1,2,3,4) #or 1:4
for(i in 1:4) {
temp<-temp+a[i] # temp+a1|a2|a3|a4 ...
}
如果这是你真正需要做的,我推荐使用这样的sum函数:
sum(a)
但是如果你想粘贴更复杂的命令,试试这个:
> a1 <- 1; a2<-2
> temp <- 0
> for(i in 1:2) temp <- eval(parse(text="temp+a"%+%i))
> temp
[1] 3
%+%
是来自stringi
包的字符串连接的运算符。
要安装它,请运行:
install.packages("stringi")
require(stringi)
答案 1 :(得分:1)
您可以使用paste0
连接名称和索引,而不是仅使用get
通过字符串名称引用变量。
for(i in 1:4) {
temp <- temp + get(paste0("a", i))
}