我正在尝试编织一个创建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来简化问题。
答案 0 :(得分:0)
尽管原则上可以使用class
以描述的方式创建对象名称,但这被认为不是一种好习惯。最好使用continue
作为列表项的名称。像这样
assign