这听起来可能很愚蠢,但:
我有每个国家的清单,AT,DE,等等,我进行了pca,在一个循环:
countries <- c("BE","BG","CZ","DK","DE","EE","IE","EL","ES","FR",
"HR","IT","CY","LV","LT","HU","MT","NL","AT","PL","PT",
"RO","SI","SK","FI","SE","UK")
for (x in countries){
pca_list[[x]] <_ prcomp(pcaData_list[[x]], scale=TRUE)
}接下来,我想要一个很好的双图,所以我使用了来自github("vqv/ ggbiplot ")的ggbi图,所以我将ggbiplot放在循环中,我有以下内容:
for (x in countries){
pca_list[[x]] <- prcomp(pcaData_list[[x]],scale=TRUE)
ggbiplot(pca_list$x,scale=1,varname.size =0,varname.abbrev=1)
}但是,它不起作用。我已经尝试过在ggbiplot命令中用pca_list$x替换paste0("pca_list$",x),但是它仍然不能工作。
两次尝试都给了我一个错误:
期望类prcomp、princomp、PCA或lda的对象
此外,当我在特定的国家做同样的事情时,比如说我确实得到了一个结果。
ggbiplot(pca_list$AT,scale=1,varname.size =0,varname.abbrev=1)发布于 2019-03-10 14:31:22
使用$运算符访问列表的元素不允许变量替换。因此,当您指定pca_list$x时,R会在列表中搜索标记为"x“的条目,该项不存在(因此属于”NULL“类)。您可能需要将代码更改为:
for (x in countries){
pca_list[[x]] <- prcomp(pcaData_list[[x]],scale=TRUE)
ggbiplot(pca_list[[x]],scale=1,varname.size =0,varname.abbrev=1) # note the change here
}https://stackoverflow.com/questions/55088621
复制相似问题