我有一个包含469列和1107个观测值的数据集。
我想针对每个不良事件组将数据帧拆分为较小的数据帧。换句话说,所有具有“内分泌”的列名将在一个数据帧中,所有具有“ blood_lymphatic”的列名将在另一数据帧中。
下面显示数据框中的前54列名称。
谢谢你!
head(df)
[1]"rc_id" "dlt_1"
[3] "soc_1" "ae_blood_lymphatic_1"
[5] "ae_endocrine_1" "ae_gastrointestinal_1"
[7] "ae_general_admin_site_condition_1" "ae_infections_infestations_1"
[9] "ae_investigations_1" "ae_metabolism_nutrition_1"
[11] "ae_musculoskeletal_connect_tissue_1" "ae_psychiatric_1"
[13] "ae_skin_subcutaneous_tissue_1" "ae_2"
[15] "dlt_2" "soc_2"
[17] "ae_blood_lymphatic_2" "ae_cardiac_2"
[19] "ae_eye_2" "ae_gastrointestinal_2"
[21] "ae_general_admin_site_condition_2" "ae_infections_infestations_2"
[23] "ae_injury_poison_proce_complic_2" "ae_metabolism_nutrition_2"
[25] "ae_musculoskeletal_connect_tissue_2" "ae_psychiatric_2"
[27] "ae_renal_uninary_2" "ae_respiratory_thoracic_mediastinal_2"
[29] "ae_skin_subcutaneous_tissue_2" "ae_social_circumstances_2"
[31] "ae_vascular_2" "ae_3"
[33] "dlt_3" "soc_3"
[35] "ae_blood_lymphatic_3" "ae_gastrointestinal_3"
[37] "ae_general_admin_site_condition_3" "ae_investigations_3"
[39] "ae_metabolism_nutrition_3" "ae_nervous_system_3"
[41] "ae_renal_uninary_3" "ae_respiratory_thoracic_mediastinal_3"
[43] "ae_4" "dlt_4"
[45] "soc_4" "ae_blood_lymphatic_4"
[47] "ae_gastrointestinal_4" "ae_general_admin_site_condition_4"
[49] "ae_infections_infestations_4" "ae_investigations_4"
[51] "ae_metabolism_nutrition_4" "ae_musculoskeletal_connect_tissue_4"
[53] "ae_psychiatric_4" "ae_respiratory_thoracic_mediastinal_4"
library(tidyverse)
d <- tribble(~endocrine1, ~endocrine2, ~blood_lymphatic1, ~blood_lymphatic2,
1, 2, 3, 4)
df_vec <- c("endocrine", "blood_lymphatic")
map(df_vec, ~d %>%
select(contains(.x))) %>%
set_names(df_vec) -> want
# [[1]]
# # A tibble: 1 x 2
# endocrine1 endocrine2
# <dbl> <dbl>
# 1 1 2
#
# [[2]]
# # A tibble: 1 x 2
# blood_lymphatic1 blood_lymphatic2
# <dbl> <dbl>
# 1 3 4