【发布时间】:2018-10-01 11:09:36
【问题描述】:
如何将包函数应用于数据框?
我有一个包含两列(总计和 n)的数据集(df),我想在其上应用 epitools 包中的 pois.exact 函数(pois.exact(x, pt = 1, conf.level = 0.95))使用 x = df$n 和 pt = df$total f 并获得一个“新”数据框 (new_df),其中包含另外 3 个列以及相应的舍入计算率、下限和上限 CI?
df <- data.frame("total" = c(35725302,35627717,34565295,36170648,38957933,36579643,29628394,18212075,39562754,1265055), "n" = c(24,66,166,461,898,1416,1781,1284,329,12))
> df
total n
1 35725302 24
2 35627717 66
3 34565295 166
4 36170648 461
5 38957933 898
6 36579643 1416
7 29628394 1781
8 18212075 1284
9 9562754 329
事实上,数据框的时间要长得多。 例如,对于第一行,期望的结果是:
require (epitools)
round (pois.exact (24, pt = 35725302, conf.level = 0.95)* 100000, 2)[3:5]
rate lower upper
1 0.07 0.04 0.1
通过应用 pois.exact 函数添加结果的新数据框应如下所示。
> new_df
total n incidence lower_95IC uppper_95IC
1 35725302 24 0.07 0.04 0.10
2 35627717 66 0.19 0.14 0.24
3 34565295 166 0.48 0.41 0.56
4 36170648 461 1.27 1.16 1.40
5 38957933 898 2.31 2.16 2.46
6 36579643 1416 3.87 3.67 4.08
7 29628394 1781 6.01 5.74 6.03
8 18212075 1284 7.05 6.67 7.45
9 9562754 329 3.44 3.08 3.83
谢谢。
【问题讨论】:
-
不清楚你的问题到底是什么。你试过什么?什么是预期的输出?特别是,
pois.exact(df$n, df$total)不是你想要的?