我有一些由变量“处理”包裹的时间序列数据。这种“治疗”的因素之一是阴性对照,我想将其包含在每个方面。
例如使用 R 数据集“Theoph”:
data("Theoph")
head(Theoph)
Subject Wt Dose Time conc
1 1 79.6 4.02 0.00 0.74
2 1 79.6 4.02 0.25 2.84
3 1 79.6 4.02 0.57 6.57
4 1 79.6 4.02 1.12 10.50
5 1 79.6 4.02 2.02 9.66
6 1 79.6 4.02 3.82 8.58
Theoph$Subject <- factor(Theoph$Subject, levels = unique(Theoph$Subject)) # set factor order
ggplot(Theoph, aes(x=Time, y=conc, colour=Subject)) +
geom_line() +
geom_point() +
facet_wrap(~ Subject)
如何将与主题“1”(对照)相对应的数据包含在每个方面中? (理想情况下,删除仅包含受试者 1 数据的方面。)
谢谢!
为了让某个主题出现在每个方面,我们需要为每个方面复制它的数据。我们将创建一个名为
facet
的新列,为每个其他主题值复制主题 1 数据,并且对于主题 != 1,将 facet
设置为等于 Subject
。
every_facet_data = subset(Theoph, Subject == 1)
individual_facet_data = subset(Theoph, Subject != 1)
individual_facet_data$facet = individual_facet_data$Subject
every_facet_data = merge(
every_facet_data,
data.frame(
Subject = 1,
facet = unique(individual_facet_data$facet)
))
plot_data = rbind(every_facet_data, individual_facet_data)
library(ggplot2)
ggplot(plot_data, aes(x=Time, y=conc, colour=Subject)) +
geom_line() +
geom_point() +
facet_wrap(~ facet)