как получить таблицу пропорций на основе информации из 2 разных таблиц в R - PullRequest
0 голосов
/ 27 мая 2019

У меня есть 2 таблицы: одна для моей изучаемой популяции и одна для моей исходной популяции.Они основаны на 2 ДФ с одинаковыми переменными: идентификатор пациента, центр, год начала лечения.Каждый из них дает мне количество пациентов на центр и в год

tb1 = table(ART_source$PROGRAM, ART_source$ART_Y)

tb2 = table(ART_study$PROGRAM, ART_study$ART_Y)

Мне нужна 3-я таблица, в которой показана доля пациентов в исследуемой популяции (на основе исходной популяции).Так что-то вроде этого: t3 = table (t2 / t1) за исключением того, что, конечно, это не работает.Я мог бы сделать это вручную в Excel, но я думаю, что должен быть более умный способ сделать это в R. Ваша помощь очень ценится,

1 Ответ

0 голосов
/ 27 мая 2019

Отредактировано, чтобы отразить столбец, который не должен быть разделен:

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.0000000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...