如何基于向量创建新的对象名称?

时间:2019-08-11 23:47:17

标签: r ggplot2 plot

我正在尝试编织一个创建ggplots并将其存储为命名对象的文档,以便我可以在整个文档中随意打印和讨论它们。

到目前为止,我已经尝试使用此循环公式。它对我的具有120个变量的实际数据集非常有效。今天我想看看其中的一些,明天我可能要看看其他的。这可以让我指定我想要的。

# Generate a data frame with 100 rows and four factor columns.
mydata <- data.frame(agegroup = as.factor(sample.int(10,100,replace = TRUE)),
                     incomegroup = as.factor(sample.int(10,100,replace = TRUE)),
                     othergroup = as.factor(sample.int(10,100,replace = TRUE)),
                     bygroup = as.factor(sample.int(3,100,replace=TRUE)))

# Choose the columns we're interested in
vars <- c("agegroup","incomegroup","othergroup")

# Make a list of names for the plots I want to create
plotnames <- c("ageplot","incomeplot","otherplot")

for (i in 1:3){

plotnames[i] <- ggplot(mydata, aes(bygroup, fill = mydata[,vars[i]])) + 
  geom_bar(position = "fill") + labs(title= vars[i], x="bygroup", y="") + 
  scale_fill_discrete(name= vars[i])


}

显然这是行不通的。我希望R从plotnames列表中召集一个字符串,并将其用作新对象的名称。我该怎么做?

编辑:将图更改为ggplot。这就是我在工作中真正想要做的。我试图使用基数r来简化问题。

1 个答案:

答案 0 :(得分:0)

尽管原则上可以使用class以描述的方式创建对象名称,但这被认为不是一种好习惯。最好使用continue作为列表项的名称。像这样

assign