r - 如何将元素添加到 3d 数组?
问题描述
我正在尝试将元素添加到多维数组中,我不知道声明它的长度,但它的行为不像我预期的那样。我已经看到 r 中的数组不是静态的,并且我尝试了很多不同的方法,所以我开始有点生气了。
我有数组:
diffAr <- array(0,dim = c(1,2))
我设置为循环的一部分:
diffAr[t,] <- c(cordX,cordY)
效果很好
> diffAr
[,1] [,2]
[1,] 2 1
第一次运行正常,但第二次出现此错误:
'[<-'(' tmp ', 2, , value = c(3, 5)) 中的错误:下标越界
如果 r 中的数组是动态的,这不应该工作吗,只需添加另一个元素?
解决方案
如果要向数组添加行,可以使用 rbind(),如果要添加列,可以使用 cbind()。在这种情况下,可以像这样添加第二行,值为 3 和 5(这也适用于您的循环):
diffAr <- array(0,dim = c(1,2))
diffAr[1,] <- c(2,1)
diffAr <- rbind(diffAr, c(3,5))
diffAr
> diffAr
[,1] [,2]
[1,] 2 1
[2,] 3 5
推荐阅读
- multithreading - 将数据“按块”写入 OpenCL 缓冲区
- mongodb - 如何将新元素添加到数组中,该数组是 MongoDB 文档中的字段
- mysql - MySQL 我无法将丹麦货币字符串列重新计算为瑞典货币值(整数)
- javascript - 如何使用js或jquery继承html中的高度
- postgresql - Hasura Graphql-如何将一个查询的输出作为输入传递给另一个查询?
- flutter - Flutter:为什么提供的数据在 Drawer 小部件中不可用
- javascript - 无法让任何 Javascript 文件在 blazor 中正常工作
- javascript - 如何从 Firebase 云函数调用异步函数
- powershell - 将标头添加到 100MB 文件大约需要 10 分钟
- java - 基于给定键动态排序 JSON 字符串