首页 > 解决方案 > 如何根据值和积分该值的微积分结果填充新数据框?

问题描述

出于图形目的,我想创建一个包含两列的新数据框。第一列是接受的治疗剂量(i;10 克至 200 克)。第二列必须填写与所接受剂量值相对应的计算结果,即根据以下公式给出的相应剂量发生疾病的患者百分比:

剂量是从超过 1000 行(患者)的更大数据集 (data_fcpa) 中提取的。

percent_i <- round (prop.table (table (data_fcpa $ n_chir_act [data_fcpa $ cyproterone_dose > i] > 1))[2] * 100, 1)

我知道如何使用我想要探索的剂量创建新数据 (df):

df <- data.frame (dose <- seq (10, 200, by = 10))
names (df) <- c("cpa_dose")
> df
   cpa_dose
1        10
2        20
3        30
4        40
5        50
6        60
7        70
8        80
9        90
10      100
11      110
12      120
13      130
14      140
15      150
16      160
17      170
18      180
19      190
20      200

例如,对于 10 克的剂量,结果是:

> round (prop.table (table (data_fcpa $ n_chir_act [data_fcpa $ cyproterone_dose > 10] > 1))[2] * 100, 1)
TRUE 
11.7

我怀疑需要一个循环来产生类似于下面提供的小示例的输出,但是我不知道该怎么做。

 cpa_dose percentage
1      10       11.7
2      20       
3      30       
4      40       

欢迎任何建议。

预先感谢您的帮助。

标签: r

解决方案


您似乎正在描述一种情况,您希望显示统计模型的预测效果?在那种情况下,ggeffects是你最好的朋友。

library(tidyverse)
library(ggeffects)


lm(mpg ~ hp,mtcars) %>% 
  ggpredict() %>% 
  as_tibble()

在此处输入图像描述

顺便说一句,为了回答您的问题,需要提供一些数据并显示您尝试过的内容。


推荐阅读