R语言循环追加矩阵元素时设置唯一行名及自定义dimnames的实现
实现代码
# 初始化0行5列矩阵,提前定义列名避免后续拼接丢失 mat <- matrix( nrow = 0, ncol = 5, dimnames = list(NULL, paste0("col", letters[1:5])) ) for(i in 1:2) { # 每次生成单行数据,动态设置行名,列名复用已定义的列名 rad5 <- matrix( runif(n = 5, min = 0, max = 3 + i), nrow = 1, dimnames = list(paste0("row_Name", i), colnames(mat)) ) # 追加新行到现有矩阵 mat <- rbind(mat, rad5) }
运行输出效果
> mat cola colb colc cold cole row_Name1 2.559102 1.231245 2.784521 0.3526412 2.984125 row_Name2 1.466036 4.942660 1.833257 0.7989867 3.981458
核心调整说明
- 初始化矩阵时就固定列名,不需要每次生成行都重复定义列名,避免维度名称不匹配的问题
- 行名通过
paste0("row_Name", i)动态生成,随循环次数自动更新 - 初始化使用0行矩阵,循环内直接追加新行即可,不需要额外处理初始空行的问题
内容的提问来源于stack exchange,提问作者sahuno
相关产品推荐
相关产品推荐

