我想一个新行追加到每个I运行时间的函数的矩阵每次运行。我认为,第一次运行函数时创建了一个矩阵,并在后面的时间中添加一个带有值的新行。追加新行的功能
这是一些虚拟数据。可以说x
和y
是矩形的边和z
某种形式的ID。实际上,这些并不是事先知道的,而是由函数输出的。真正的函数将一个物种目录作为参数,读取形状文件,合并多边形并执行一系列其他操作,但输出表面区域。对于每个物种(即函数运行),我想将每个输出区域存储在矩阵或数据框中以供进一步分析,而不是将其输出到单个变量。
myfunc <- function(x, y, z){
area <- x*y
id <- z
tmp <- cbind(area,id)
assign(as.matrix('mtrx'), rbind(tmp), envir=.GlobalEnv)
}
以上显然只会创建矩阵并在每次运行函数时覆盖它。
任何指针将是非常非常感谢!
第一个参数需要是要分配的对象的名称。为什么你要将字符串转换为字符矩阵?这个'assign('mtrx',....)'工作吗?一旦你运行功能 –
矩阵'mtrx'创建... –
OK,但我的观点是第一个参数'assign'是你想分配给,而不是一个矩阵的东西的名字的特征向量。阅读'?assign'。 –