可以根据 R metafor 包中的类别在 L'abbé-plot 中对点进行着色吗?
Can the points be colored in the L'abbé-plot based on category in R metafor package?
是否可以在 L'abbé 图中为 "points" 着色?我正在使用 metafor 包。
# Load package
library(metafor)
# Load data
data(dat.bcg)
# Code
ex <- rma(ai=tpos, bi=tneg, ci=cpos,
di=cneg, data=dat.bcg, measure="OR",
slab=paste(author, year, sep=", "), method="FE")
# L'abbé plot
labbe(ex, transf = exp, ylab="Test group", xlab="Control")
是否可以根据变量为点着色?
Fx 蓝色点代表:
dat.bcg$alloc==random
谢谢你,C.
您可以尝试以下方法:
dat.bcg$var[dat.bcg$alloc == "random"] <- "blue"
labbe(ex, transf = exp, ylab = "Test group", xlab = "Control", bg = dat.bcg$var)
并且没有转换:
labbe(ex, ylab = "Test group", xlab = "Control", bg = dat.bcg$var, grid = TRUE)
我们可以看到 dat.bcg$alloc == "random"
.
的 7 个实例有 7 个蓝点
另一种区分点的选项:
labbe(ex, ylab = "Test group", xlab = "Control", grid = TRUE, pch = dat.bcg$alloc)
要更改所有三个点的颜色,您可以执行以下操作:
dat.bcg$var[dat.bcg$alloc == "random"] <- "blue"
dat.bcg$var[dat.bcg$alloc == "alternate"] <- "green"
dat.bcg$var[dat.bcg$alloc == "systematic"] <- "red"
或者 dplyr
我们可以使用 case_when
:
library(dplyr)
dat.bcg <- dat.bcg %>%
mutate(var = case_when(alloc == "random" ~ "blue",
alloc == "alternate" ~ "green",
alloc == "systematic" ~ "red",
TRUE ~ as.character(NA)))
是否可以在 L'abbé 图中为 "points" 着色?我正在使用 metafor 包。
# Load package
library(metafor)
# Load data
data(dat.bcg)
# Code
ex <- rma(ai=tpos, bi=tneg, ci=cpos,
di=cneg, data=dat.bcg, measure="OR",
slab=paste(author, year, sep=", "), method="FE")
# L'abbé plot
labbe(ex, transf = exp, ylab="Test group", xlab="Control")
是否可以根据变量为点着色?
Fx 蓝色点代表:
dat.bcg$alloc==random
谢谢你,C.
您可以尝试以下方法:
dat.bcg$var[dat.bcg$alloc == "random"] <- "blue"
labbe(ex, transf = exp, ylab = "Test group", xlab = "Control", bg = dat.bcg$var)
并且没有转换:
labbe(ex, ylab = "Test group", xlab = "Control", bg = dat.bcg$var, grid = TRUE)
我们可以看到 dat.bcg$alloc == "random"
.
另一种区分点的选项:
labbe(ex, ylab = "Test group", xlab = "Control", grid = TRUE, pch = dat.bcg$alloc)
要更改所有三个点的颜色,您可以执行以下操作:
dat.bcg$var[dat.bcg$alloc == "random"] <- "blue"
dat.bcg$var[dat.bcg$alloc == "alternate"] <- "green"
dat.bcg$var[dat.bcg$alloc == "systematic"] <- "red"
或者 dplyr
我们可以使用 case_when
:
library(dplyr)
dat.bcg <- dat.bcg %>%
mutate(var = case_when(alloc == "random" ~ "blue",
alloc == "alternate" ~ "green",
alloc == "systematic" ~ "red",
TRUE ~ as.character(NA)))