r - R:如何使用 3 维数组的边距作为同一函数的单独参数?
问题描述
我有一个名为 TOM 的数组。该命令dim(TOM)
返回2, 4000, 4000。
当我运行时:
consensusTOM <- pmin(TOM[1, , ], TOM[2, , ])
它返回一个矩阵,其中包含两个输入参数之间的平行最小值,这正是我所需要的。
我想编写一个函数,无论我对该数组的第一个边距有什么值,都可以将pmin()
每个元素视为pmin()
函数的单独参数。
然后,如果我输入一个维度为3, 4000, 4000的数组,它将执行以下操作:
consensusTOM <- pmin(TOM[1, , ], TOM[2, , ], TOM[3, , ])
同样,如果我输入一个维度为4, 4000, 4000的数组,它将执行以下操作:
consensusTOM <- pmin(TOM[1, , ], TOM[2, , ], TOM[3, , ], TOM[4, , ])
等等等等。
有谁知道如何在 R 中做到这一点?
解决方案
一种选择是通过循环第一个维度将其更改为 a list
,然后pmin
在其中使用do.call
do.call(pmin, lapply(seq(dim(TOM)[1]), function(i) TOM[i,,]))
推荐阅读
- batch-file - 想要自动化移动多个文件的过程
- swift - 如何在 SwiftUI 中创建 UISearchBar
- python - 所以我为我的朋友制作了这个社交媒体的东西,当我将它部署到 heroku 时,我很快就会收到这个错误(Gunicorn 有问题吗?)
- python - 比较Python编程中2个骰子的结果
- javascript - 如何在 MVC 中写入浏览器控制台?
- android-studio - 在颤振医生中找不到Android SDK文件adb(命令提示符)
- ubuntu-20.04 - FreeRadius 未启动(Ubuntu 20.04)“ber_get_next 失败”
- javascript - 如何更改 Chartist html 轴标签的字体特征?
- groovy - groovy脚本逐行读取文件并打印
- python - python asyncio as_completed 疑惑