dimnames用list给予赋值即可。如dimnames=list(rownames,colnames,...)。
R语言数组array函数:
数组是一个可以在两个以上的维度存储数据的R数据对象。例如 - 如果创建尺寸(2,3,4)的数组,那么创建4个矩形矩阵每2行3列。数组只能存储数据类型。使用 array()函数创建数组。它需要向量作为输入,并使用 dim 参数的值,以创建一个数组。
示例:
我们可以通过使用dimnames参数给予名称添加到数组中的行,列和矩阵。
# Create two vectors of different lengths.
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)
column.names <- c("COL1","COL2","COL3")
row.names <- c("ROW1","ROW2","ROW3")
matrix.names <- c("Matrix1","Matrix2")
# Take these vectors as input to the array.
result <- array(c(vector1,vector2),dim=c(3,3,2),dimnames = list(column.names,row.names,matrix.names))
print(result)
当我们上面的代码执行时,它产生以下结果:
1. , , Matrix1
ROW1 ROW2 ROW3
COL1 5 10 13
COL2 9 11 14
COL3 3 12 15
2. , , Matrix2
ROW1 ROW2 ROW3
COL1 5 10 13
COL2 9 11 14
COL3 3 12 15
在进行循环的时候,经常需要把环境中的变量通过字符的形式提取出来并赋值给新的变量,涉及到环境变量和字符的转换问题。在R语言中,,可以通过 assign() 和 get() 这两个函数操作。
get :返回和字符串同名的变量的值
assign :将字符串变量的字符进行复制
get和assign是互为镜像的两个函数。
这样在环境中,就生成了100个变量,分别为 data_1到data_100。因此assign可以进行批量的赋值,并且有规律的控制变量名
比如我们需要把上面的data_1到data_100的变量存成rda
这样我们就把data开头的数据通循环的方式,写入到了rda的数据中。
https://zhuanlan.zhihu.com/p/30383865