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

使用R语言pls包做PLSR分析:查看6个成分的变量映射

PLSR成分对应变量的查看方法

你用loadings()函数的方向是对的,可能是输出显示或参数使用的细节问题导致没得到预期结果,以下是具体操作步骤:

1. 正确提取并打印前6个成分的载荷矩阵

运行以下代码,提取完整的载荷信息并避免输出截断:

# 提取前6个成分的载荷矩阵
loadings_mat <- loadings(posamodel, ncomp = 6)
# 完整打印矩阵,指定显示精度和间距
print(loadings_mat, digits = 3, print.gap = 2)

输出结果中,每一列对应一个PLSR成分,每一行是输入变量,数值的绝对值越大,说明该变量对对应成分的贡献(关联程度)越强。

2. 可视化载荷更直观分析

如果想更清晰地看到每个成分对应的关键变量,可以用pls包自带的可视化工具:

# 绘制前6个成分的载荷图
plot(posamodel, "loadings", comps = 1:6, legendpos = "topright", cex = 0.7)

也可以用tidyverse整理数据后自定义绘图,更灵活:

library(tidyverse)

# 将载荷矩阵转换为长格式数据框
loadings_df <- as.data.frame(loadings_mat) %>%
  rownames_to_column("变量名") %>%
  pivot_longer(cols = starts_with("Comp"), names_to = "成分", values_to = "载荷值")

# 分面展示每个成分的变量载荷
ggplot(loadings_df, aes(x = 变量名, y = 载荷值)) +
  geom_bar(stat = "identity", fill = "#2c3e50") +
  facet_wrap(~成分, scales = "free_x") +
  theme(axis.text.x = element_text(angle = 60, hjust = 1, size = 8))

注意事项

  • 若你之前在plsr()命令中指定了ncomp=6,后续loadings()默认就会提取前6个成分,无需重复指定,但显式指定ncomp=6更稳妥。
  • 载荷值的正负代表变量与成分的关联方向,核心看绝对值大小判断贡献强度。

内容的提问来源于stack exchange,提问作者Dr. Elliot Gavin Keenan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 04:55:10