You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否使用R语言的outer()函数生成矩阵格式的笛卡尔乘积?

R语言通过outer()生成矩阵格式笛卡尔乘积的方案

直接给outer()的FUN参数传入自定义拼接函数即可,代码如下:

x <- 1:2
y <- 1:3
# 自定义函数将每次传入的x、y元素拼接为向量,用list包裹避免outer自动拆分值
res <- outer(x, y, FUN = function(a, b) list(c(a, b)))

验证输出:
你可以直接访问矩阵任意位置的元素确认结构,例如执行res[1,1]会得到1 1的向量,打印整个矩阵的效果如下:

[,1]      [,2]      [,3]     
[1,] Integer,2 Integer,2 Integer,2
[2,] Integer,2 Integer,2 Integer,2

补充说明:必须用list()包裹拼接后的向量,否则outer()会将返回的两个元素的向量拆分为独立单元格,最终输出4行3列的错误结构。

内容的提问来源于stack exchange,提问作者mk9y

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 18:27:03