我有两个表:一个用于我的研究人群,一个用于我的源人群。它们基于2个DFs,具有相同的变量: patientID,中心,治疗开始的年份。他们给了我每个中心和每年的病人数量
tb1 = table(ART_source$PROGRAM, ART_source$ART_Y)
tb2 = table(ART_study$PROGRAM, ART_study$ART_Y)我需要一个第三个表,它显示了研究人群中患者的比例(基于源人群)。就像这样: t3 = table (t2 / t1),当然这是不起作用的。我可以在excel中手动完成,但我认为在R中一定有更聪明的方法。非常感谢您的帮助,
发布于 2019-05-27 20:02:46
编辑以反映不应分割的列:
library(dplyr)
df1 <- data.frame(id = c("patient1", "patient2", "patient3", "patient4", "patient5"), replicate(5,sample(1:50,5,rep=TRUE)))
df2 <- data.frame(id = c("patient1", "patient2", "patient3", "patient4", "patient5"), replicate(5,sample(1:50,5,rep=TRUE)))
df3 <- data.frame(df1$id, df1[, c(2:6)] / df2[, c(2:6)])
> df1
id X1 X2 X3 X4 X5
1 patient1 15 18 5 49 47
2 patient2 13 32 13 33 21
3 patient3 20 42 32 5 25
4 patient4 32 8 26 32 18
5 patient5 48 49 13 44 13
> df2
id X1 X2 X3 X4 X5
1 patient1 48 12 6 21 25
2 patient2 18 43 1 14 13
3 patient3 10 18 37 25 13
4 patient4 37 4 47 3 28
5 patient5 9 2 50 1 13
> df3
df1.id X1 X2 X3 X4 X5
1 patient1 0.3125000 1.500000 0.8333333 2.333333 1.8800000
2 patient2 0.7222222 0.744186 13.0000000 2.357143 1.6153846
3 patient3 2.0000000 2.333333 0.8648649 0.200000 1.9230769
4 patient4 0.8648649 2.000000 0.5531915 10.666667 0.6428571
5 patient5 5.3333333 24.500000 0.2600000 44.000000 1.0000000https://stackoverflow.com/questions/56325628
复制相似问题