【发布时间】:2013-07-15 23:39:53
【问题描述】:
这是我在论坛上第一个关于 R 的问题,如果我在提出问题或指定标题时犯了任何错误,请提前道歉。
重点是,对于 ggplot 的特定任务,我在 ggplot 函数之外定义美学,然后将其作为参数提供。
>mytmpaes<-aes(x=Sample,y=ddCt.lin,ymax=ddCt.lin+ddCt.lin.sd,ymin=ddCt.linddCt.lin.sd,fill=factor(endog))
>my.ggplot(x,mytmpaes)
但有时我只想修改 mytmpaes 列表中的一些对象,而不使用 aes() 重新定义所有对象。但是,我真的不知道如何处理这个特殊的列表。 aes 列表如下所示:
>mytmpaes
List of 5
$ x : symbol Sample
$ y : symbol ddCt.lin
$ ymax : language ddCt.lin + ddCt.lin.sd
$ ymin : language ddCt.lin - ddCt.lin.sd
$ fill : language factor(Rep)
我想出了如何像这样修改其中的一些:
> mytmpaes$x<-as.symbol('Names')
> mytmpaes$fill<-call('factor',quote(target))
> mytmpaes
List of 5
$ x : symbol Names
$ y : symbol ddCt.lin
$ ymax: language ddCt.lin + ddCt.lin.sd
$ ymin: language ddCt.lin - ddCt.lin.sd
$ fill: language factor(endog)
但是,我找不到使用类似表达式修改 ymax 或 ymin 的方法。 例如,我想将 ymax 更改为 'ddCt.log2 - ddCt.log2.sd'。
有人可以给我一些建议吗?还有,有没有更正确的修改aes列表的方法?
谢谢,
亚历杭德罗
【问题讨论】:
标签: r ggplot2 aesthetics