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

使用R语言pls包实现偏最小二乘回归遇变量长度错误求助

问题原因与解决方法

错误的核心是你用c(y1, y2)把两个响应变量拼接成了长度为40的一维向量,而解释变量x1/x2/x3都是长度为20的向量,两者长度不匹配,导致模型框架报错。你的数据框结构本身没有问题,只需修正公式写法即可。

正确写法1:用cbind()组合响应变量

library(pls)
df <- data.frame(x1 = rnorm(20),
                 x2 = rnorm(20),
                 x3 = rnorm(20),
                 y1 = rnorm(20),
                 y2 = rnorm(20))
model <- plsr(cbind(y1, y2) ~ x1+x2+x3, ncomp = 3, scale = TRUE, data = df)

正确写法2:公式中直接罗列响应变量

library(pls)
df <- data.frame(x1 = rnorm(20),
                 x2 = rnorm(20),
                 x3 = rnorm(20),
                 y1 = rnorm(20),
                 y2 = rnorm(20))
model <- plsr(y1 + y2 ~ x1+x2+x3, ncomp = 3, scale = TRUE, data = df)

两种写法都能正确识别多响应变量的结构,保证响应变量矩阵(20行×2列)与解释变量行数一致,从而正常运行模型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:22:03