使用FactoMineR进行PCA后,如何提取pca_dim列表中的行名称?
提取dimdesc结果中各主成分的相关变量行名
嘿,我来帮你搞定这个问题!首先咱们先搞清楚dimdesc()返回的pca_dim列表的结构:它里面的每个元素对应一个主成分,每个元素内部又包含$quanti(定量变量的相关性结果)和$quali(定性变量的相关性结果,如果你数据里有的话)两个部分,而你要的行名称就藏在这些子数据框里。
单个主成分的行名提取
如果你想单独提取第1个主成分对应的变量行名,直接用rownames()函数就行:
# 提取第1个主成分的相关变量行名(假设是定量变量) rownames(pca_dim[[1]]$quanti) # 如果数据包含定性变量,就换成这个 rownames(pca_dim[[1]]$quali)
批量提取所有主成分的行名
要是你想一次性把所有3个主成分的行名都提取出来,可以用lapply()遍历整个列表,高效又省心:
# 批量提取所有主成分的定量变量行名 all_var_names <- lapply(pca_dim, function(comp) rownames(comp$quanti)) # 查看结果:all_var_names是一个列表,每个元素对应一个主成分的变量名 all_var_names[[1]] # 第1个主成分的变量名 all_var_names[[2]] # 第2个主成分的变量名
小提示
如果你不确定自己的数据里有没有定性变量,可以先运行str(pca_dim)查看列表的详细结构,这样就能精准定位到你需要的部分啦!
内容的提问来源于stack exchange,提问作者HajarM
相关产品推荐
相关产品推荐

