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

R语言如何从向量中移除指定子向量并生成组合矩阵的互补矩阵y

解决方法

你可以通过先生成位置组合的方式得到对应互补矩阵,示例代码如下:

library(gtools)

wine <- c(1, 1, 1, 0, 0)
# 先生成2个元素的位置索引组合,而非直接传入wine的值
pos_comb <- combinations(n = 5, r = 2, v = 1:5, set = FALSE, repeats.allowed = FALSE)
# 生成目标矩阵x:提取每个组合对应位置的wine值
x <- t(apply(pos_comb, MARGIN = 1, FUN = function(idx) wine[idx]))
# 生成互补矩阵y:提取每个组合剩余位置的wine值
y <- t(apply(pos_comb, MARGIN = 1, FUN = function(idx) wine[-idx]))

效果说明

你提到的移除b = c(1,0)子向量得到d = c(1,1,0)的需求,只需要筛选x中行等于c(1,0)对应的y行即可得到目标结果。

内容的提问来源于stack exchange,提问作者Δημήτριος Φούντας

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:06:04