分组计算某一列和多列的相关系数

有办法在corr:R(table.x. table[`y1`y2...]的基础上group by吗,比如按照z列的值分组计算多列的corr

请先 登录 后评论

1 个回答

veryOrdinary
t = table(1..10 as x, 1 1 1 1 2 2 2 2 2 2 as z, rand(1.0, 10) as y1, rand(1.0, 10) as y2, rand(1.0,10) as y3)
each(f->corr:R(f.x, f[`y1`y2`y3]), t @ groups(t.z, 'tuple'))

可以参考上述脚本,groups 会返回各分对应元素的下标,并以元组返回,@ 即 eachAt 可取出元组的每个元素,即一组元素的下标,然后通过索引取出表中对应下标的记录,然后调用自定义的lambda 函数,取处需要计算相关系数的列,对应 y1y2y3 分别和 x 列进行相关系数的求值


请先 登录 后评论
  • 1 关注
  • 0 收藏,392 浏览
  • Polly 提出于 2023-10-26 14:52