[英]Lattice panel.abline on multipanel plot
我正在嘗試使用下面的代碼創建具有多個面板的格子xyplot。 問題是它在所有面板上添加所有中間線(即,不按主題分組。 有沒有辦法對每個受試者的中線進行分組?
以下是使用PKPDdatasets包中的Theoph數據集的可重現示例。
# devtools::install_github("dpastoor/PKPDdatasets")
library(PKPDdatasets)
library(lattice)
library(latticeExtra)
library(dplyr)
Theoph_Data <- Theoph
Theoph_Data1 <- Theoph_Data %>% group_by(Subject) %>% mutate(Median= median(Time))
print(Theoph_Data1)
Theoph_PK <- xyplot(conc ~ Time| Subject, data=Theoph_Data1,
panel = function(x,y,...) {
panel.xyplot(x,y,...)
panel.abline(v=Theoph_Data1$Median)
})
Theoph_PK
雖然你的例子不是最好的,因為每個人都有相同的中位時間,但基本的想法是這樣的:
Theoph_Data <- Theoph
xyplot(conc ~ Time| Subject, data=Theoph_Data1,
panel = function(x,y,subscripts,...) {
panel.xyplot(x,y, subscripts=subscripts,...)
panel.abline(v=median(Theoph_Data1$Time[subscripts]))
}
)
您可以在面板功能中請求subscripts=
參數。 這將為您提供每個面板中繪制的觀察值的索引。 然后,您可以使用這些下標對原始數據進行子集化。 在這里,我們計算函數中的中位數(以確保我們只嘗試使用單個值繪制單個行)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.