我正在尝试创建一个boxplot,其中x轴上有一个二进制1/2变量。当我使用ggplot创建我的boxplot和循环时,我只得到一个以1.5为中心的大盒子图,而我想要一个1的盒子图和2的箱图。我是新手,所以任何帮助和额外的阅读将不胜感激。下面是代码。
myboxplot <- function(mydata=ivf_dataset, myexposure, myoutcome )
{
bp <- ggplot(mydata, aes_(as.name(myexposure), as.name(myoutcome))) +
geom_boxplot()
print(bp)
}
myboxplot(myexposure = "ART_CURRENT", myoutcome = "H19_DMR_mean")
答案 0 :(得分:0)
myboxplot <- function(mydata=ivf_dataset, myexposure, myoutcome )
{
bp <- ggplot(mydata, aes_(myexposure, as.factor(myoutcome))) +
geom_boxplot()
print(bp)
}
myboxplot(myexposure = "ART_CURRENT", myoutcome = "H19_DMR_mean")
如果你想根据变量的值绘制多个boxplot,那么该变量必须是一个因子!
答案 1 :(得分:0)
以下将做你想要的。
诀窍是get
要绘制的变量的值,因为您将它们作为字符串传递给函数。
library(ggplot2)
set.seed(7153)
ivf_dataset <- data.frame(
ART_CURRENT = sample.int(2, 100, TRUE),
H19_DMR_mean = rnorm(100)
)
myboxplot <- function(mydata=ivf_dataset, myexposure, myoutcome ){
bp <- ggplot(mydata, aes(x = as.factor(get(myexposure)), y = get(myoutcome))) +
geom_boxplot()
print(bp)
}
myboxplot(myexposure = "ART_CURRENT", myoutcome = "H19_DMR_mean")