簡體   English   中英

創建一個基於過濾 dataframe 的表,其中兩個變量在 R

[英]Create a table based on filtering dataframe on progressive criteria with two variables in R

我有以下 dataframe,具有以下變量年齡(連續)、風險(連續)、疾病(0/1)。

例如;

age <- c(45, 50, 55, 60, 65);

risk <- c(5, 45, 70, 80, 50);

disease <- c(1,0,1,1,0)

我想創建一個表,其中列子集數據由一個變量(年齡> 40,年齡> 45,年齡> 50)和行由另一個(風險> 20,風險> 25等)和由計數填充的表/滿足列和行變量標准的那些觀察的摘要統計。

我打算使用dplyr計算每個值,例如,

a <- df %>% 
filter(age>40, risk >20) %>%
summarise(prop.dis = sum(disease)/n())

但是有沒有更短的方法來自動填充整個表,其中列通過增量標准對數據進行子集化,並且行相同?

如果我們需要獲取每個相應過濾器的比例,請使用map2

library(purrr)
library(dplyr)
agevec <- c(40, 45, 50)
riskvec <- c(20, 25, 30)
map2(agevec, riskvec, ~ df %>% 
                filter(age > .x, risk > .y) %>%
                summarise(prop.dis = sum(disease)/n()))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM