我目前正在开发一个for循环,看起来像这样:
for(i in 1) {
nam <- paste(Test[i,1])
assign(nam, matrix(nrow=1,ncol=8))}
(Test is a vector with random entries and I want to use the first as a name)
我遇到的问题是,一旦我使用赋值,矩阵的类就会从类更改为logi。如何在环境中重命名Matrix并仍然有矩阵类?
答案 0 :(得分:0)
函数matrix(nrow=1,ncol=8)
创建一个新的空1x8矩阵。由于它初始化为空,因此它假定矩阵的元素的最简单情况,即类logical
。分配给存储在nam
中的名称的矩阵确实仍然是一个矩阵,它只是该矩阵的元素logical
。
> nam <- 'myname'
> assign(nam, matrix(nrow=1,ncol=8))
> class(myname)
[1] "matrix"
> class(myname[1, 1])
[1] "logical"
顺便说一句,关于这个例子的一些事情看起来很奇怪,人们假设在实际使用中它们更有意义 - 例如,仅在1
上循环,或在单个上使用paste()
元件。