You need to enable JavaScript to run this app. R语言单列表分段应用函数生成矩阵列表的实现方法咨询
优惠活动
大模型
产品
解决方案
定价
更多

R语言单列表分段应用函数生成矩阵列表的实现方法咨询

R语言单列表分段生成两两运算矩阵的实现方案

核心实现代码

# 1. 定义输入列表与分组规则
input_lst <- list(1,2,3,4,5,6)
group_size <- 3
split_lst <- split(input_lst, ceiling(seq_along(input_lst) / group_size))

# 2. 遍历分组生成对应矩阵
res <- lapply(split_lst, function(grp) {
  grp_vec <- unlist(grp)
  # 计算两两元素的均值,可替换为任意自定义二元函数
  outer(grp_vec, grp_vec, function(a, b) (a + b)/2)
})

结果验证

运行上述代码后输出的res即为要求的矩阵列表,打印结果如下:

> res
$`1`
     [,1] [,2] [,3]
[1,]  1.0  1.5  2.0
[2,]  1.5  2.0  2.5
[3,]  2.0  2.5  3.0

$`2`
     [,1] [,2] [,3]
[1,]  4.0  4.5  5.0
[2,]  4.5  5.0  5.5
[3,]  5.0  5.5  6.0

可调参数说明

  • 修改group_size的取值即可调整每组的元素个数,适配不同分段需求
  • 将outer中的function(a, b) (a + b)/2替换为其他二元运算函数,即可实现不同的两两计算逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 18:45:00