首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历r中的字元以表示ggbiplot / ggplot

循环遍历r中的字元以表示ggbiplot / ggplot
EN

Stack Overflow用户
提问于 2019-03-10 14:20:29
回答 1查看 89关注 0票数 2

这听起来可能很愚蠢,但:

我有每个国家的清单,AT,DE,等等,我进行了pca,在一个循环:

代码语言:javascript
复制
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放在循环中,我有以下内容:

代码语言:javascript
复制
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的对象

此外,当我在特定的国家做同样的事情时,比如说我确实得到了一个结果。

代码语言:javascript
复制
ggbiplot(pca_list$AT,scale=1,varname.size =0,varname.abbrev=1)
EN

回答 1

Stack Overflow用户

发布于 2019-03-10 14:31:22

使用$运算符访问列表的元素不允许变量替换。因此,当您指定pca_list$x时,R会在列表中搜索标记为"x“的条目,该项不存在(因此属于”NULL“类)。您可能需要将代码更改为:

代码语言:javascript
复制
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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55088621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档