{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "id": "10e2debb-d55d-4d95-8b74-de5681b4b93f", "metadata": { "id": "10e2debb-d55d-4d95-8b74-de5681b4b93f" }, "source": [ "**Author:** Alpha Traore, Sr Data Scientist, Biostat Consultants Inc. \n", "**📁 Project:** CDISC Dataset Preparation \n", "**📁 Domain:** DM (Demographics) \n", "**🎯 Purpose:** Mapping Raw Clinical Data to SDTM DM Domain Using R \n", " \n", "---\n", "\n", "**📌Overview**\n", "\n", "This notebook demonstrates the process of creating the **Demographics (DM) domain** as defined by the CDISC SDTM model. The objective is to use R to program a compliant DM dataset, suitable for clinical trial data submissions and regulatory review." ] }, { "cell_type": "markdown", "id": "669e08f5-fd49-40e1-98a8-862b56df3ff0", "metadata": { "id": "669e08f5-fd49-40e1-98a8-862b56df3ff0" }, "source": [ "**Step 1: Load Raw Data Inputs**" ] }, { "cell_type": "code", "execution_count": null, "id": "09f8c88b-bdea-46e8-a5ba-6b332cf71179", "metadata": { "id": "09f8c88b-bdea-46e8-a5ba-6b332cf71179", "outputId": "98fcd663-cf2d-4557-dca7-cf61bf1c60ec" }, "outputs": [ { "data": { "text/html": [ "\n", "
  1. 'adverse'
  2. 'box'
  3. 'conmeds'
  4. 'demog'
  5. 'ecg'
  6. 'eligcrit'
  7. 'enrlment'
  8. 'eoip'
  9. 'eos'
  10. 'eq5d3l'
  11. 'hosp'
  12. 'ipadmin'
  13. 'lab_chem'
  14. 'lab_hema'
  15. 'My_packages'
  16. 'physmeas'
  17. 'rand'
  18. 'surg'
  19. 'vitals'
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 'adverse'\n", "\\item 'box'\n", "\\item 'conmeds'\n", "\\item 'demog'\n", "\\item 'ecg'\n", "\\item 'eligcrit'\n", "\\item 'enrlment'\n", "\\item 'eoip'\n", "\\item 'eos'\n", "\\item 'eq5d3l'\n", "\\item 'hosp'\n", "\\item 'ipadmin'\n", "\\item 'lab\\_chem'\n", "\\item 'lab\\_hema'\n", "\\item 'My\\_packages'\n", "\\item 'physmeas'\n", "\\item 'rand'\n", "\\item 'surg'\n", "\\item 'vitals'\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 'adverse'\n", "2. 'box'\n", "3. 'conmeds'\n", "4. 'demog'\n", "5. 'ecg'\n", "6. 'eligcrit'\n", "7. 'enrlment'\n", "8. 'eoip'\n", "9. 'eos'\n", "10. 'eq5d3l'\n", "11. 'hosp'\n", "12. 'ipadmin'\n", "13. 'lab_chem'\n", "14. 'lab_hema'\n", "15. 'My_packages'\n", "16. 'physmeas'\n", "17. 'rand'\n", "18. 'surg'\n", "19. 'vitals'\n", "\n", "\n" ], "text/plain": [ " [1] \"adverse\" \"box\" \"conmeds\" \"demog\" \"ecg\" \n", " [6] \"eligcrit\" \"enrlment\" \"eoip\" \"eos\" \"eq5d3l\" \n", "[11] \"hosp\" \"ipadmin\" \"lab_chem\" \"lab_hema\" \"My_packages\"\n", "[16] \"physmeas\" \"rand\" \"surg\" \"vitals\" " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "load(\"dm_rawdata.RData\")\n", "ls()" ] }, { "cell_type": "markdown", "id": "54e24480-a5eb-4bed-80fa-05702876567b", "metadata": { "id": "54e24480-a5eb-4bed-80fa-05702876567b" }, "source": [ "**Step 2: Check Demog Raw data**" ] }, { "cell_type": "code", "execution_count": null, "id": "b89cff33-31bb-425e-ac68-b0ae07b5b2d6", "metadata": { "id": "b89cff33-31bb-425e-ac68-b0ae07b5b2d6" }, "outputs": [], "source": [ "# load(\"dm_rawdata.RData\", nv <- new.env())\n", "# ls(nv)" ] }, { "cell_type": "code", "execution_count": null, "id": "e7e057fe-8b26-4242-ad32-6abd4e26ecbd", "metadata": { "id": "e7e057fe-8b26-4242-ad32-6abd4e26ecbd", "outputId": "8530b6bb-6c95-4b47-e8cd-c73b90b7b061" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 8 × 13
studyptsexethnicracerace2race3race4racespage_rawage_rawubrthdt_rawcountry
<chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr>
CSG0011001Male Hispanic or Latino White 35YearsUSA
CSG0011002FemaleNot Hispanic or LatinoAsian American Indian or Alaska Native 40YearsUSA
CSG0011003Male Hispanic or Latino Other BRAZILIAN40YearsUSA
CSG0011004Male Hispanic or Latino White 38YearsUSA
CSG0011005Male Not Hispanic or LatinoAmerican Indian or Alaska Native 64YearsUSA
CSG0011006FemaleNot Hispanic or LatinoNative Hawaiian or Other Pacific Islander 75YearsUSA
CSG0011007Male Not Hispanic or LatinoUnknown 32YearsUSA
CSG0011008FemaleNot Hispanic or LatinoNot Reported 83YearsUSA
\n" ], "text/latex": [ "A tibble: 8 × 13\n", "\\begin{tabular}{lllllllllllll}\n", " study & pt & sex & ethnic & race & race2 & race3 & race4 & racesp & age\\_raw & age\\_rawu & brthdt\\_raw & country\\\\\n", " & & & & & & & & & & & & \\\\\n", "\\hline\n", "\t CSG001 & 1001 & Male & Hispanic or Latino & White & & & & & 35 & Years & & USA\\\\\n", "\t CSG001 & 1002 & Female & Not Hispanic or Latino & Asian & American Indian or Alaska Native & & & & 40 & Years & & USA\\\\\n", "\t CSG001 & 1003 & Male & Hispanic or Latino & Other & & & & BRAZILIAN & 40 & Years & & USA\\\\\n", "\t CSG001 & 1004 & Male & Hispanic or Latino & White & & & & & 38 & Years & & USA\\\\\n", "\t CSG001 & 1005 & Male & Not Hispanic or Latino & American Indian or Alaska Native & & & & & 64 & Years & & USA\\\\\n", "\t CSG001 & 1006 & Female & Not Hispanic or Latino & Native Hawaiian or Other Pacific Islander & & & & & 75 & Years & & USA\\\\\n", "\t CSG001 & 1007 & Male & Not Hispanic or Latino & Unknown & & & & & 32 & Years & & USA\\\\\n", "\t CSG001 & 1008 & Female & Not Hispanic or Latino & Not Reported & & & & & 83 & Years & & USA\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 8 × 13\n", "\n", "| study <chr> | pt <chr> | sex <chr> | ethnic <chr> | race <chr> | race2 <chr> | race3 <chr> | race4 <chr> | racesp <chr> | age_raw <chr> | age_rawu <chr> | brthdt_raw <chr> | country <chr> |\n", "|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", "| CSG001 | 1001 | Male | Hispanic or Latino | White | | | | | 35 | Years | | USA |\n", "| CSG001 | 1002 | Female | Not Hispanic or Latino | Asian | American Indian or Alaska Native | | | | 40 | Years | | USA |\n", "| CSG001 | 1003 | Male | Hispanic or Latino | Other | | | | BRAZILIAN | 40 | Years | | USA |\n", "| CSG001 | 1004 | Male | Hispanic or Latino | White | | | | | 38 | Years | | USA |\n", "| CSG001 | 1005 | Male | Not Hispanic or Latino | American Indian or Alaska Native | | | | | 64 | Years | | USA |\n", "| CSG001 | 1006 | Female | Not Hispanic or Latino | Native Hawaiian or Other Pacific Islander | | | | | 75 | Years | | USA |\n", "| CSG001 | 1007 | Male | Not Hispanic or Latino | Unknown | | | | | 32 | Years | | USA |\n", "| CSG001 | 1008 | Female | Not Hispanic or Latino | Not Reported | | | | | 83 | Years | | USA |\n", "\n" ], "text/plain": [ " study pt sex ethnic \n", "1 CSG001 1001 Male Hispanic or Latino \n", "2 CSG001 1002 Female Not Hispanic or Latino\n", "3 CSG001 1003 Male Hispanic or Latino \n", "4 CSG001 1004 Male Hispanic or Latino \n", "5 CSG001 1005 Male Not Hispanic or Latino\n", "6 CSG001 1006 Female Not Hispanic or Latino\n", "7 CSG001 1007 Male Not Hispanic or Latino\n", "8 CSG001 1008 Female Not Hispanic or Latino\n", " race race2 \n", "1 White \n", "2 Asian American Indian or Alaska Native\n", "3 Other \n", "4 White \n", "5 American Indian or Alaska Native \n", "6 Native Hawaiian or Other Pacific Islander \n", "7 Unknown \n", "8 Not Reported \n", " race3 race4 racesp age_raw age_rawu brthdt_raw country\n", "1 35 Years USA \n", "2 40 Years USA \n", "3 BRAZILIAN 40 Years USA \n", "4 38 Years USA \n", "5 64 Years USA \n", "6 75 Years USA \n", "7 32 Years USA \n", "8 83 Years USA " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "demog" ] }, { "cell_type": "markdown", "id": "22d0dfbf-1211-4899-9103-abb408cdb2ab", "metadata": { "id": "22d0dfbf-1211-4899-9103-abb408cdb2ab" }, "source": [ "**3. Generate the identifier variables and additional variables that are directly contingent upon the raw variables, without engaging in significant derivations.**" ] }, { "cell_type": "code", "execution_count": null, "id": "6935b3cf-7b35-4ba1-8ac3-9b908462d3c3", "metadata": { "id": "6935b3cf-7b35-4ba1-8ac3-9b908462d3c3", "outputId": "9389e128-936e-45df-f531-7ea009025ec6" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 8 × 11
domainstudyidsubjidsiteidusubjidcountryethnicraceageageusex
<chr><chr><chr><chr><chr><chr><chr><chr><int><chr><chr>
DMCSG001100110CSG001-1001USAHISPANIC OR LATINO WHITE 35YEARSM
DMCSG001100210CSG001-1002USANOT HISPANIC OR LATINOMULTIPLE 40YEARSF
DMCSG001100310CSG001-1003USAHISPANIC OR LATINO OTHER 40YEARSM
DMCSG001100410CSG001-1004USAHISPANIC OR LATINO WHITE 38YEARSM
DMCSG001100510CSG001-1005USANOT HISPANIC OR LATINOAMERICAN INDIAN OR ALASKA NATIVE 64YEARSM
DMCSG001100610CSG001-1006USANOT HISPANIC OR LATINONATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER75YEARSF
DMCSG001100710CSG001-1007USANOT HISPANIC OR LATINOUNKNOWN 32YEARSM
DMCSG001100810CSG001-1008USANOT HISPANIC OR LATINONOT REPORTED 83YEARSF
\n" ], "text/latex": [ "A tibble: 8 × 11\n", "\\begin{tabular}{lllllllllll}\n", " domain & studyid & subjid & siteid & usubjid & country & ethnic & race & age & ageu & sex\\\\\n", " & & & & & & & & & & \\\\\n", "\\hline\n", "\t DM & CSG001 & 1001 & 10 & CSG001-1001 & USA & HISPANIC OR LATINO & WHITE & 35 & YEARS & M\\\\\n", "\t DM & CSG001 & 1002 & 10 & CSG001-1002 & USA & NOT HISPANIC OR LATINO & MULTIPLE & 40 & YEARS & F\\\\\n", "\t DM & CSG001 & 1003 & 10 & CSG001-1003 & USA & HISPANIC OR LATINO & OTHER & 40 & YEARS & M\\\\\n", "\t DM & CSG001 & 1004 & 10 & CSG001-1004 & USA & HISPANIC OR LATINO & WHITE & 38 & YEARS & M\\\\\n", "\t DM & CSG001 & 1005 & 10 & CSG001-1005 & USA & NOT HISPANIC OR LATINO & AMERICAN INDIAN OR ALASKA NATIVE & 64 & YEARS & M\\\\\n", "\t DM & CSG001 & 1006 & 10 & CSG001-1006 & USA & NOT HISPANIC OR LATINO & NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER & 75 & YEARS & F\\\\\n", "\t DM & CSG001 & 1007 & 10 & CSG001-1007 & USA & NOT HISPANIC OR LATINO & UNKNOWN & 32 & YEARS & M\\\\\n", "\t DM & CSG001 & 1008 & 10 & CSG001-1008 & USA & NOT HISPANIC OR LATINO & NOT REPORTED & 83 & YEARS & F\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 8 × 11\n", "\n", "| domain <chr> | studyid <chr> | subjid <chr> | siteid <chr> | usubjid <chr> | country <chr> | ethnic <chr> | race <chr> | age <int> | ageu <chr> | sex <chr> |\n", "|---|---|---|---|---|---|---|---|---|---|---|\n", "| DM | CSG001 | 1001 | 10 | CSG001-1001 | USA | HISPANIC OR LATINO | WHITE | 35 | YEARS | M |\n", "| DM | CSG001 | 1002 | 10 | CSG001-1002 | USA | NOT HISPANIC OR LATINO | MULTIPLE | 40 | YEARS | F |\n", "| DM | CSG001 | 1003 | 10 | CSG001-1003 | USA | HISPANIC OR LATINO | OTHER | 40 | YEARS | M |\n", "| DM | CSG001 | 1004 | 10 | CSG001-1004 | USA | HISPANIC OR LATINO | WHITE | 38 | YEARS | M |\n", "| DM | CSG001 | 1005 | 10 | CSG001-1005 | USA | NOT HISPANIC OR LATINO | AMERICAN INDIAN OR ALASKA NATIVE | 64 | YEARS | M |\n", "| DM | CSG001 | 1006 | 10 | CSG001-1006 | USA | NOT HISPANIC OR LATINO | NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER | 75 | YEARS | F |\n", "| DM | CSG001 | 1007 | 10 | CSG001-1007 | USA | NOT HISPANIC OR LATINO | UNKNOWN | 32 | YEARS | M |\n", "| DM | CSG001 | 1008 | 10 | CSG001-1008 | USA | NOT HISPANIC OR LATINO | NOT REPORTED | 83 | YEARS | F |\n", "\n" ], "text/plain": [ " domain studyid subjid siteid usubjid country ethnic \n", "1 DM CSG001 1001 10 CSG001-1001 USA HISPANIC OR LATINO \n", "2 DM CSG001 1002 10 CSG001-1002 USA NOT HISPANIC OR LATINO\n", "3 DM CSG001 1003 10 CSG001-1003 USA HISPANIC OR LATINO \n", "4 DM CSG001 1004 10 CSG001-1004 USA HISPANIC OR LATINO \n", "5 DM CSG001 1005 10 CSG001-1005 USA NOT HISPANIC OR LATINO\n", "6 DM CSG001 1006 10 CSG001-1006 USA NOT HISPANIC OR LATINO\n", "7 DM CSG001 1007 10 CSG001-1007 USA NOT HISPANIC OR LATINO\n", "8 DM CSG001 1008 10 CSG001-1008 USA NOT HISPANIC OR LATINO\n", " race age ageu sex\n", "1 WHITE 35 YEARS M \n", "2 MULTIPLE 40 YEARS F \n", "3 OTHER 40 YEARS M \n", "4 WHITE 38 YEARS M \n", "5 AMERICAN INDIAN OR ALASKA NATIVE 64 YEARS M \n", "6 NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER 75 YEARS F \n", "7 UNKNOWN 32 YEARS M \n", "8 NOT REPORTED 83 YEARS F " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dm01 <- demog %>%\n", " rename(race0 = race) %>%\n", " mutate(\n", " domain = \"DM\",\n", " studyid = study,\n", " subjid = pt,\n", " siteid = substr(pt, 1, 2),\n", " usubjid = paste(study, pt, sep = \"-\"),\n", " country = country,\n", " ethnic = toupper(ethnic),\n", " non_missing_count = rowSums(across(c(race0, race2, race3, race4), ~ !is.na(.) & . != \"\")),\n", "\n", " race = ifelse(non_missing_count > 1, \"MULTIPLE\", toupper(coalesce(race0, race2, race3, race4))),\n", " racesp = racesp,\n", " race1 = ifelse(non_missing_count > 1,toupper(race0),\"\"),\n", " race2 = ifelse(non_missing_count > 1,toupper(race2),\"\"),\n", " race3 = ifelse(non_missing_count > 1,toupper(race3),\"\"),\n", " race4 = ifelse(non_missing_count > 1,toupper(race4),\"\"),\n", "\n", " age = ifelse(!is.na(age_raw), as.integer(age_raw), NA_integer_),\n", " ageu = toupper(age_rawu),\n", " sex = ifelse(sex == \"Female\", \"F\", ifelse(sex == \"Male\", \"M\", sex))\n", " )\n", " select(dm01, c('domain','studyid','subjid', 'siteid','usubjid','country', 'ethnic','race','age','ageu','sex'))" ] }, { "cell_type": "markdown", "id": "d70711d0-be7f-4d8a-9227-c1d4ed1a61f3", "metadata": { "id": "d70711d0-be7f-4d8a-9227-c1d4ed1a61f3" }, "source": [ "**4. Check the new variables**" ] }, { "cell_type": "code", "execution_count": null, "id": "9c33f9d6-b7e6-4f87-ac0f-953b1f4a3437", "metadata": { "id": "9c33f9d6-b7e6-4f87-ac0f-953b1f4a3437", "outputId": "fb7830df-f001-4697-f03c-74cb3862f592" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 8 × 11
domainstudyidsubjidsiteidusubjidcountryethnicraceageageusex
<chr><chr><chr><chr><chr><chr><chr><chr><int><chr><chr>
DMCSG001100110CSG001-1001USAHISPANIC OR LATINO WHITE 35YEARSM
DMCSG001100210CSG001-1002USANOT HISPANIC OR LATINOMULTIPLE 40YEARSF
DMCSG001100310CSG001-1003USAHISPANIC OR LATINO OTHER 40YEARSM
DMCSG001100410CSG001-1004USAHISPANIC OR LATINO WHITE 38YEARSM
DMCSG001100510CSG001-1005USANOT HISPANIC OR LATINOAMERICAN INDIAN OR ALASKA NATIVE 64YEARSM
DMCSG001100610CSG001-1006USANOT HISPANIC OR LATINONATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER75YEARSF
DMCSG001100710CSG001-1007USANOT HISPANIC OR LATINOUNKNOWN 32YEARSM
DMCSG001100810CSG001-1008USANOT HISPANIC OR LATINONOT REPORTED 83YEARSF
\n" ], "text/latex": [ "A tibble: 8 × 11\n", "\\begin{tabular}{lllllllllll}\n", " domain & studyid & subjid & siteid & usubjid & country & ethnic & race & age & ageu & sex\\\\\n", " & & & & & & & & & & \\\\\n", "\\hline\n", "\t DM & CSG001 & 1001 & 10 & CSG001-1001 & USA & HISPANIC OR LATINO & WHITE & 35 & YEARS & M\\\\\n", "\t DM & CSG001 & 1002 & 10 & CSG001-1002 & USA & NOT HISPANIC OR LATINO & MULTIPLE & 40 & YEARS & F\\\\\n", "\t DM & CSG001 & 1003 & 10 & CSG001-1003 & USA & HISPANIC OR LATINO & OTHER & 40 & YEARS & M\\\\\n", "\t DM & CSG001 & 1004 & 10 & CSG001-1004 & USA & HISPANIC OR LATINO & WHITE & 38 & YEARS & M\\\\\n", "\t DM & CSG001 & 1005 & 10 & CSG001-1005 & USA & NOT HISPANIC OR LATINO & AMERICAN INDIAN OR ALASKA NATIVE & 64 & YEARS & M\\\\\n", "\t DM & CSG001 & 1006 & 10 & CSG001-1006 & USA & NOT HISPANIC OR LATINO & NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER & 75 & YEARS & F\\\\\n", "\t DM & CSG001 & 1007 & 10 & CSG001-1007 & USA & NOT HISPANIC OR LATINO & UNKNOWN & 32 & YEARS & M\\\\\n", "\t DM & CSG001 & 1008 & 10 & CSG001-1008 & USA & NOT HISPANIC OR LATINO & NOT REPORTED & 83 & YEARS & F\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 8 × 11\n", "\n", "| domain <chr> | studyid <chr> | subjid <chr> | siteid <chr> | usubjid <chr> | country <chr> | ethnic <chr> | race <chr> | age <int> | ageu <chr> | sex <chr> |\n", "|---|---|---|---|---|---|---|---|---|---|---|\n", "| DM | CSG001 | 1001 | 10 | CSG001-1001 | USA | HISPANIC OR LATINO | WHITE | 35 | YEARS | M |\n", "| DM | CSG001 | 1002 | 10 | CSG001-1002 | USA | NOT HISPANIC OR LATINO | MULTIPLE | 40 | YEARS | F |\n", "| DM | CSG001 | 1003 | 10 | CSG001-1003 | USA | HISPANIC OR LATINO | OTHER | 40 | YEARS | M |\n", "| DM | CSG001 | 1004 | 10 | CSG001-1004 | USA | HISPANIC OR LATINO | WHITE | 38 | YEARS | M |\n", "| DM | CSG001 | 1005 | 10 | CSG001-1005 | USA | NOT HISPANIC OR LATINO | AMERICAN INDIAN OR ALASKA NATIVE | 64 | YEARS | M |\n", "| DM | CSG001 | 1006 | 10 | CSG001-1006 | USA | NOT HISPANIC OR LATINO | NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER | 75 | YEARS | F |\n", "| DM | CSG001 | 1007 | 10 | CSG001-1007 | USA | NOT HISPANIC OR LATINO | UNKNOWN | 32 | YEARS | M |\n", "| DM | CSG001 | 1008 | 10 | CSG001-1008 | USA | NOT HISPANIC OR LATINO | NOT REPORTED | 83 | YEARS | F |\n", "\n" ], "text/plain": [ " domain studyid subjid siteid usubjid country ethnic \n", "1 DM CSG001 1001 10 CSG001-1001 USA HISPANIC OR LATINO \n", "2 DM CSG001 1002 10 CSG001-1002 USA NOT HISPANIC OR LATINO\n", "3 DM CSG001 1003 10 CSG001-1003 USA HISPANIC OR LATINO \n", "4 DM CSG001 1004 10 CSG001-1004 USA HISPANIC OR LATINO \n", "5 DM CSG001 1005 10 CSG001-1005 USA NOT HISPANIC OR LATINO\n", "6 DM CSG001 1006 10 CSG001-1006 USA NOT HISPANIC OR LATINO\n", "7 DM CSG001 1007 10 CSG001-1007 USA NOT HISPANIC OR LATINO\n", "8 DM CSG001 1008 10 CSG001-1008 USA NOT HISPANIC OR LATINO\n", " race age ageu sex\n", "1 WHITE 35 YEARS M \n", "2 MULTIPLE 40 YEARS F \n", "3 OTHER 40 YEARS M \n", "4 WHITE 38 YEARS M \n", "5 AMERICAN INDIAN OR ALASKA NATIVE 64 YEARS M \n", "6 NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER 75 YEARS F \n", "7 UNKNOWN 32 YEARS M \n", "8 NOT REPORTED 83 YEARS F " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "select(dm01, c('domain','studyid','subjid', 'siteid','usubjid','country', 'ethnic','race','age','ageu','sex'))" ] }, { "cell_type": "code", "execution_count": null, "id": "57618440-1795-4e56-b2e3-ddb946cde1bf", "metadata": { "id": "57618440-1795-4e56-b2e3-ddb946cde1bf", "outputId": "4e208dc3-91b6-4691-93f8-5b47222473a7" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 8 × 9
studyptfoldericdt_rawicversprtversenrldt_rawranddt_rawrandno
<chr><chr><chr><chr><chr><chr><chr><chr><chr>
CSG0011001SCR1/JAN/2010 11
CSG0011002SCR1/JAN/2010 114/JAN/2010
CSG0011003SCR1/JAN/2010 113/JAN/2010 3/JAN/2010 514876
CSG0011004SCR1/JAN/2010 114/JAN/2010 5/JAN/2010 101415
CSG0011005SCR15/JAN/2010111/FEB/2010 5/FEB/2010 306185
CSG0011006SCR18/FEB/2010111/MAR/2010 1/MAR/2010 987435
CSG0011007SCR4/APR/2010 2214/APR/201014/APR/2010098745
CSG0011008SCR20/JUN/20102326/JUN/201027/JUN/2010123098
\n" ], "text/latex": [ "A tibble: 8 × 9\n", "\\begin{tabular}{lllllllll}\n", " study & pt & folder & icdt\\_raw & icvers & prtvers & enrldt\\_raw & randdt\\_raw & randno\\\\\n", " & & & & & & & & \\\\\n", "\\hline\n", "\t CSG001 & 1001 & SCR & 1/JAN/2010 & 1 & 1 & & & \\\\\n", "\t CSG001 & 1002 & SCR & 1/JAN/2010 & 1 & 1 & 4/JAN/2010 & & \\\\\n", "\t CSG001 & 1003 & SCR & 1/JAN/2010 & 1 & 1 & 3/JAN/2010 & 3/JAN/2010 & 514876\\\\\n", "\t CSG001 & 1004 & SCR & 1/JAN/2010 & 1 & 1 & 4/JAN/2010 & 5/JAN/2010 & 101415\\\\\n", "\t CSG001 & 1005 & SCR & 15/JAN/2010 & 1 & 1 & 1/FEB/2010 & 5/FEB/2010 & 306185\\\\\n", "\t CSG001 & 1006 & SCR & 18/FEB/2010 & 1 & 1 & 1/MAR/2010 & 1/MAR/2010 & 987435\\\\\n", "\t CSG001 & 1007 & SCR & 4/APR/2010 & 2 & 2 & 14/APR/2010 & 14/APR/2010 & 098745\\\\\n", "\t CSG001 & 1008 & SCR & 20/JUN/2010 & 2 & 3 & 26/JUN/2010 & 27/JUN/2010 & 123098\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 8 × 9\n", "\n", "| study <chr> | pt <chr> | folder <chr> | icdt_raw <chr> | icvers <chr> | prtvers <chr> | enrldt_raw <chr> | randdt_raw <chr> | randno <chr> |\n", "|---|---|---|---|---|---|---|---|---|\n", "| CSG001 | 1001 | SCR | 1/JAN/2010 | 1 | 1 | | | |\n", "| CSG001 | 1002 | SCR | 1/JAN/2010 | 1 | 1 | 4/JAN/2010 | | |\n", "| CSG001 | 1003 | SCR | 1/JAN/2010 | 1 | 1 | 3/JAN/2010 | 3/JAN/2010 | 514876 |\n", "| CSG001 | 1004 | SCR | 1/JAN/2010 | 1 | 1 | 4/JAN/2010 | 5/JAN/2010 | 101415 |\n", "| CSG001 | 1005 | SCR | 15/JAN/2010 | 1 | 1 | 1/FEB/2010 | 5/FEB/2010 | 306185 |\n", "| CSG001 | 1006 | SCR | 18/FEB/2010 | 1 | 1 | 1/MAR/2010 | 1/MAR/2010 | 987435 |\n", "| CSG001 | 1007 | SCR | 4/APR/2010 | 2 | 2 | 14/APR/2010 | 14/APR/2010 | 098745 |\n", "| CSG001 | 1008 | SCR | 20/JUN/2010 | 2 | 3 | 26/JUN/2010 | 27/JUN/2010 | 123098 |\n", "\n" ], "text/plain": [ " study pt folder icdt_raw icvers prtvers enrldt_raw randdt_raw randno\n", "1 CSG001 1001 SCR 1/JAN/2010 1 1 \n", "2 CSG001 1002 SCR 1/JAN/2010 1 1 4/JAN/2010 \n", "3 CSG001 1003 SCR 1/JAN/2010 1 1 3/JAN/2010 3/JAN/2010 514876\n", "4 CSG001 1004 SCR 1/JAN/2010 1 1 4/JAN/2010 5/JAN/2010 101415\n", "5 CSG001 1005 SCR 15/JAN/2010 1 1 1/FEB/2010 5/FEB/2010 306185\n", "6 CSG001 1006 SCR 18/FEB/2010 1 1 1/MAR/2010 1/MAR/2010 987435\n", "7 CSG001 1007 SCR 4/APR/2010 2 2 14/APR/2010 14/APR/2010 098745\n", "8 CSG001 1008 SCR 20/JUN/2010 2 3 26/JUN/2010 27/JUN/2010 123098" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "enrlment" ] }, { "cell_type": "markdown", "id": "09a6f136-6619-4ac2-9747-da23a3faef17", "metadata": { "id": "09a6f136-6619-4ac2-9747-da23a3faef17" }, "source": [ "**Derive disposition related variables**" ] }, { "cell_type": "code", "execution_count": null, "id": "daf4a3f6-4e08-4d9d-b949-265b97c0519f", "metadata": { "id": "daf4a3f6-4e08-4d9d-b949-265b97c0519f" }, "outputs": [], "source": [ "rficdtc <- enrlment %>%\n", " mutate(\n", " rficdtc = ifelse(!is.na(icdt_raw), format(as.Date(icdt_raw, format = \"%d/%b/%Y\"),\"%Y-%m-%d\"), NA),\n", " enrldtc = ifelse(!is.na(enrldt_raw), format(as.Date(enrldt_raw, format = \"%d/%b/%Y\"),\"%Y-%m-%d\"), NA),\n", " randdtc = ifelse(!is.na(randdt_raw), format(as.Date(randdt_raw, format = \"%d/%b/%Y\"),\"%Y-%m-%d\"), NA)\n", " ) %>%\n", " select(study, pt, rficdtc, enrldtc, randdtc)\n", "\n", "rfendtc <- eos %>%\n", " filter(eoscat == \"End of Study\") %>%\n", " mutate(rfendtc = ifelse(!is.na(eostdt_raw), format(as.Date(eostdt_raw, format = \"%d/%b/%Y\"),\"%Y-%m-%d\"), NA)) %>%\n", " select(study, pt, rfendtc)\n", "\n", "dthdtc <- eos %>%\n", " filter(eoscat == \"End of Study\" & eoterm == \"Death\") %>%\n", " mutate(dthdtc = ifelse(!is.na(eostdt_raw), format(as.Date(eostdt_raw, format = \"%d/%b/%Y\"),\"%Y-%m-%d\"), NA), dthfl = \"Y\") %>%\n", " select(study, pt, dthdtc, dthfl)\n" ] }, { "cell_type": "code", "execution_count": null, "id": "dfe11094-bf0e-4569-a0a9-696bce510df6", "metadata": { "id": "dfe11094-bf0e-4569-a0a9-696bce510df6", "outputId": "f69ba71c-d89a-4809-b941-6ca10a8fc584" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 8 × 5
studyptrficdtcenrldtcranddtc
<chr><chr><chr><chr><chr>
CSG00110012010-01-01NA NA
CSG00110022010-01-012010-01-04NA
CSG00110032010-01-012010-01-032010-01-03
CSG00110042010-01-012010-01-042010-01-05
CSG00110052010-01-152010-02-012010-02-05
CSG00110062010-02-182010-03-012010-03-01
CSG00110072010-04-042010-04-142010-04-14
CSG00110082010-06-202010-06-262010-06-27
\n" ], "text/latex": [ "A tibble: 8 × 5\n", "\\begin{tabular}{lllll}\n", " study & pt & rficdtc & enrldtc & randdtc\\\\\n", " & & & & \\\\\n", "\\hline\n", "\t CSG001 & 1001 & 2010-01-01 & NA & NA \\\\\n", "\t CSG001 & 1002 & 2010-01-01 & 2010-01-04 & NA \\\\\n", "\t CSG001 & 1003 & 2010-01-01 & 2010-01-03 & 2010-01-03\\\\\n", "\t CSG001 & 1004 & 2010-01-01 & 2010-01-04 & 2010-01-05\\\\\n", "\t CSG001 & 1005 & 2010-01-15 & 2010-02-01 & 2010-02-05\\\\\n", "\t CSG001 & 1006 & 2010-02-18 & 2010-03-01 & 2010-03-01\\\\\n", "\t CSG001 & 1007 & 2010-04-04 & 2010-04-14 & 2010-04-14\\\\\n", "\t CSG001 & 1008 & 2010-06-20 & 2010-06-26 & 2010-06-27\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 8 × 5\n", "\n", "| study <chr> | pt <chr> | rficdtc <chr> | enrldtc <chr> | randdtc <chr> |\n", "|---|---|---|---|---|\n", "| CSG001 | 1001 | 2010-01-01 | NA | NA |\n", "| CSG001 | 1002 | 2010-01-01 | 2010-01-04 | NA |\n", "| CSG001 | 1003 | 2010-01-01 | 2010-01-03 | 2010-01-03 |\n", "| CSG001 | 1004 | 2010-01-01 | 2010-01-04 | 2010-01-05 |\n", "| CSG001 | 1005 | 2010-01-15 | 2010-02-01 | 2010-02-05 |\n", "| CSG001 | 1006 | 2010-02-18 | 2010-03-01 | 2010-03-01 |\n", "| CSG001 | 1007 | 2010-04-04 | 2010-04-14 | 2010-04-14 |\n", "| CSG001 | 1008 | 2010-06-20 | 2010-06-26 | 2010-06-27 |\n", "\n" ], "text/plain": [ " study pt rficdtc enrldtc randdtc \n", "1 CSG001 1001 2010-01-01 NA NA \n", "2 CSG001 1002 2010-01-01 2010-01-04 NA \n", "3 CSG001 1003 2010-01-01 2010-01-03 2010-01-03\n", "4 CSG001 1004 2010-01-01 2010-01-04 2010-01-05\n", "5 CSG001 1005 2010-01-15 2010-02-01 2010-02-05\n", "6 CSG001 1006 2010-02-18 2010-03-01 2010-03-01\n", "7 CSG001 1007 2010-04-04 2010-04-14 2010-04-14\n", "8 CSG001 1008 2010-06-20 2010-06-26 2010-06-27" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rficdtc" ] }, { "cell_type": "code", "execution_count": null, "id": "7c6e6030-cafa-47d2-b2d2-0d35e4c4cdec", "metadata": { "id": "7c6e6030-cafa-47d2-b2d2-0d35e4c4cdec", "outputId": "4d2f4029-c4f0-4221-a535-79ef78ee21e7" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 3
studyptrfendtc
<chr><chr><chr>
CSG00110022010-01-05
CSG00110032010-01-05
CSG00110042010-02-28
CSG00110062010-03-25
CSG00110072010-06-12
CSG00110082010-08-18
\n" ], "text/latex": [ "A tibble: 6 × 3\n", "\\begin{tabular}{lll}\n", " study & pt & rfendtc\\\\\n", " & & \\\\\n", "\\hline\n", "\t CSG001 & 1002 & 2010-01-05\\\\\n", "\t CSG001 & 1003 & 2010-01-05\\\\\n", "\t CSG001 & 1004 & 2010-02-28\\\\\n", "\t CSG001 & 1006 & 2010-03-25\\\\\n", "\t CSG001 & 1007 & 2010-06-12\\\\\n", "\t CSG001 & 1008 & 2010-08-18\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 6 × 3\n", "\n", "| study <chr> | pt <chr> | rfendtc <chr> |\n", "|---|---|---|\n", "| CSG001 | 1002 | 2010-01-05 |\n", "| CSG001 | 1003 | 2010-01-05 |\n", "| CSG001 | 1004 | 2010-02-28 |\n", "| CSG001 | 1006 | 2010-03-25 |\n", "| CSG001 | 1007 | 2010-06-12 |\n", "| CSG001 | 1008 | 2010-08-18 |\n", "\n" ], "text/plain": [ " study pt rfendtc \n", "1 CSG001 1002 2010-01-05\n", "2 CSG001 1003 2010-01-05\n", "3 CSG001 1004 2010-02-28\n", "4 CSG001 1006 2010-03-25\n", "5 CSG001 1007 2010-06-12\n", "6 CSG001 1008 2010-08-18" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rfendtc" ] }, { "cell_type": "code", "execution_count": null, "id": "16acf300-204c-4887-832e-5b8f92fd49c8", "metadata": { "id": "16acf300-204c-4887-832e-5b8f92fd49c8", "outputId": "d7370685-2429-4dca-cadb-6d29e226d56a" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\n", "
A tibble: 1 × 4
studyptdthdtcdthfl
<chr><chr><chr><chr>
CSG00110032010-01-05Y
\n" ], "text/latex": [ "A tibble: 1 × 4\n", "\\begin{tabular}{llll}\n", " study & pt & dthdtc & dthfl\\\\\n", " & & & \\\\\n", "\\hline\n", "\t CSG001 & 1003 & 2010-01-05 & Y\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 1 × 4\n", "\n", "| study <chr> | pt <chr> | dthdtc <chr> | dthfl <chr> |\n", "|---|---|---|---|\n", "| CSG001 | 1003 | 2010-01-05 | Y |\n", "\n" ], "text/plain": [ " study pt dthdtc dthfl\n", "1 CSG001 1003 2010-01-05 Y " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dthdtc" ] }, { "cell_type": "markdown", "id": "e0ecd4f2-125f-499f-9ef8-f02aa32c1f3b", "metadata": { "id": "e0ecd4f2-125f-499f-9ef8-f02aa32c1f3b" }, "source": [ "**Get Exposure Related Variables**" ] }, { "cell_type": "code", "execution_count": null, "id": "ad8fbaa1-cabd-455c-84cb-56a44eb565a6", "metadata": { "id": "ad8fbaa1-cabd-455c-84cb-56a44eb565a6" }, "outputs": [], "source": [ "exp01 <- ipadmin %>%\n", " filter(as.integer(ipqty_raw) > 0) %>%\n", " mutate(\n", " ipstdtc = as.Date(ipstdt_raw, format = \"%d/%b/%Y\"),\n", " ipsttm = format(as.POSIXct(ipsttm_raw, format = \"%H:%M\", tz = \"\"),\"%H:%M\"),\n", " tempdtc = paste(ipstdtc, ipsttm, sep = \"T\")\n", " ) %>%\n", " select(study, pt, tempdtc, ipboxid)\n", "\n", "#Earliest treatment date\n", "rfxstdtc <- exp01 %>%\n", " arrange(study,pt,tempdtc) %>%\n", " group_by(study, pt) %>%\n", " slice(1) %>%\n", " mutate(rfxstdtc = tempdtc)\n", "\n", "#Late treatment date\n", "rfxendtc <- exp01 %>%\n", " arrange(study,pt,tempdtc) %>%\n", " group_by(study, pt) %>%\n", " slice(n()) %>%\n", " mutate(rfxendtc = tempdtc)" ] }, { "cell_type": "code", "execution_count": null, "id": "bfff8361-9126-4f00-8cc9-7d64fc82d458", "metadata": { "id": "bfff8361-9126-4f00-8cc9-7d64fc82d458", "outputId": "d2ab725b-5548-4677-f8f5-78612aa3a6c9" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 15 × 4
studypttempdtcipboxid
<chr><chr><chr><chr>
CSG00110042010-01-05T08:3513434371
CSG00110042010-01-12T08:3552970539
CSG00110042010-01-18T09:3052120567
CSG00110042010-01-25T08:4559305202
CSG00110052010-02-05T08:4613787377
CSG00110052010-02-12T08:3065580239
CSG00110062010-03-02T08:3039024101
CSG00110062010-03-10T08:3065845489
CSG00110072010-04-15T08:2366223983
CSG00110072010-04-22T09:0071763169
CSG00110072010-04-29T09:0360038358
CSG00110072010-05-06T08:1268706162
CSG00110082010-06-27T08:4568891589
CSG00110082010-07-04T08:172311359
CSG00110082010-07-11T09:203199027
\n" ], "text/latex": [ "A tibble: 15 × 4\n", "\\begin{tabular}{llll}\n", " study & pt & tempdtc & ipboxid\\\\\n", " & & & \\\\\n", "\\hline\n", "\t CSG001 & 1004 & 2010-01-05T08:35 & 13434371\\\\\n", "\t CSG001 & 1004 & 2010-01-12T08:35 & 52970539\\\\\n", "\t CSG001 & 1004 & 2010-01-18T09:30 & 52120567\\\\\n", "\t CSG001 & 1004 & 2010-01-25T08:45 & 59305202\\\\\n", "\t CSG001 & 1005 & 2010-02-05T08:46 & 13787377\\\\\n", "\t CSG001 & 1005 & 2010-02-12T08:30 & 65580239\\\\\n", "\t CSG001 & 1006 & 2010-03-02T08:30 & 39024101\\\\\n", "\t CSG001 & 1006 & 2010-03-10T08:30 & 65845489\\\\\n", "\t CSG001 & 1007 & 2010-04-15T08:23 & 66223983\\\\\n", "\t CSG001 & 1007 & 2010-04-22T09:00 & 71763169\\\\\n", "\t CSG001 & 1007 & 2010-04-29T09:03 & 60038358\\\\\n", "\t CSG001 & 1007 & 2010-05-06T08:12 & 68706162\\\\\n", "\t CSG001 & 1008 & 2010-06-27T08:45 & 68891589\\\\\n", "\t CSG001 & 1008 & 2010-07-04T08:17 & 2311359 \\\\\n", "\t CSG001 & 1008 & 2010-07-11T09:20 & 3199027 \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 15 × 4\n", "\n", "| study <chr> | pt <chr> | tempdtc <chr> | ipboxid <chr> |\n", "|---|---|---|---|\n", "| CSG001 | 1004 | 2010-01-05T08:35 | 13434371 |\n", "| CSG001 | 1004 | 2010-01-12T08:35 | 52970539 |\n", "| CSG001 | 1004 | 2010-01-18T09:30 | 52120567 |\n", "| CSG001 | 1004 | 2010-01-25T08:45 | 59305202 |\n", "| CSG001 | 1005 | 2010-02-05T08:46 | 13787377 |\n", "| CSG001 | 1005 | 2010-02-12T08:30 | 65580239 |\n", "| CSG001 | 1006 | 2010-03-02T08:30 | 39024101 |\n", "| CSG001 | 1006 | 2010-03-10T08:30 | 65845489 |\n", "| CSG001 | 1007 | 2010-04-15T08:23 | 66223983 |\n", "| CSG001 | 1007 | 2010-04-22T09:00 | 71763169 |\n", "| CSG001 | 1007 | 2010-04-29T09:03 | 60038358 |\n", "| CSG001 | 1007 | 2010-05-06T08:12 | 68706162 |\n", "| CSG001 | 1008 | 2010-06-27T08:45 | 68891589 |\n", "| CSG001 | 1008 | 2010-07-04T08:17 | 2311359 |\n", "| CSG001 | 1008 | 2010-07-11T09:20 | 3199027 |\n", "\n" ], "text/plain": [ " study pt tempdtc ipboxid \n", "1 CSG001 1004 2010-01-05T08:35 13434371\n", "2 CSG001 1004 2010-01-12T08:35 52970539\n", "3 CSG001 1004 2010-01-18T09:30 52120567\n", "4 CSG001 1004 2010-01-25T08:45 59305202\n", "5 CSG001 1005 2010-02-05T08:46 13787377\n", "6 CSG001 1005 2010-02-12T08:30 65580239\n", "7 CSG001 1006 2010-03-02T08:30 39024101\n", "8 CSG001 1006 2010-03-10T08:30 65845489\n", "9 CSG001 1007 2010-04-15T08:23 66223983\n", "10 CSG001 1007 2010-04-22T09:00 71763169\n", "11 CSG001 1007 2010-04-29T09:03 60038358\n", "12 CSG001 1007 2010-05-06T08:12 68706162\n", "13 CSG001 1008 2010-06-27T08:45 68891589\n", "14 CSG001 1008 2010-07-04T08:17 2311359 \n", "15 CSG001 1008 2010-07-11T09:20 3199027 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "exp01" ] }, { "cell_type": "code", "execution_count": null, "id": "f3982128-adec-4d28-9b2b-71082810b440", "metadata": { "id": "f3982128-adec-4d28-9b2b-71082810b440", "outputId": "dc9dea6d-fdb5-4afe-e1a1-4a2d19c53529" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A grouped_df: 5 × 5
studypttempdtcipboxidrfxstdtc
<chr><chr><chr><chr><chr>
CSG00110042010-01-05T08:35134343712010-01-05T08:35
CSG00110052010-02-05T08:46137873772010-02-05T08:46
CSG00110062010-03-02T08:30390241012010-03-02T08:30
CSG00110072010-04-15T08:23662239832010-04-15T08:23
CSG00110082010-06-27T08:45688915892010-06-27T08:45
\n" ], "text/latex": [ "A grouped\\_df: 5 × 5\n", "\\begin{tabular}{lllll}\n", " study & pt & tempdtc & ipboxid & rfxstdtc\\\\\n", " & & & & \\\\\n", "\\hline\n", "\t CSG001 & 1004 & 2010-01-05T08:35 & 13434371 & 2010-01-05T08:35\\\\\n", "\t CSG001 & 1005 & 2010-02-05T08:46 & 13787377 & 2010-02-05T08:46\\\\\n", "\t CSG001 & 1006 & 2010-03-02T08:30 & 39024101 & 2010-03-02T08:30\\\\\n", "\t CSG001 & 1007 & 2010-04-15T08:23 & 66223983 & 2010-04-15T08:23\\\\\n", "\t CSG001 & 1008 & 2010-06-27T08:45 & 68891589 & 2010-06-27T08:45\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A grouped_df: 5 × 5\n", "\n", "| study <chr> | pt <chr> | tempdtc <chr> | ipboxid <chr> | rfxstdtc <chr> |\n", "|---|---|---|---|---|\n", "| CSG001 | 1004 | 2010-01-05T08:35 | 13434371 | 2010-01-05T08:35 |\n", "| CSG001 | 1005 | 2010-02-05T08:46 | 13787377 | 2010-02-05T08:46 |\n", "| CSG001 | 1006 | 2010-03-02T08:30 | 39024101 | 2010-03-02T08:30 |\n", "| CSG001 | 1007 | 2010-04-15T08:23 | 66223983 | 2010-04-15T08:23 |\n", "| CSG001 | 1008 | 2010-06-27T08:45 | 68891589 | 2010-06-27T08:45 |\n", "\n" ], "text/plain": [ " study pt tempdtc ipboxid rfxstdtc \n", "1 CSG001 1004 2010-01-05T08:35 13434371 2010-01-05T08:35\n", "2 CSG001 1005 2010-02-05T08:46 13787377 2010-02-05T08:46\n", "3 CSG001 1006 2010-03-02T08:30 39024101 2010-03-02T08:30\n", "4 CSG001 1007 2010-04-15T08:23 66223983 2010-04-15T08:23\n", "5 CSG001 1008 2010-06-27T08:45 68891589 2010-06-27T08:45" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rfxstdtc" ] }, { "cell_type": "code", "execution_count": null, "id": "f165f663-a3b4-4a4b-85df-c365c74442c5", "metadata": { "id": "f165f663-a3b4-4a4b-85df-c365c74442c5", "outputId": "8ae9de44-8e55-46ab-f8c7-fe21c68e5da1" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A grouped_df: 5 × 5
studypttempdtcipboxidrfxendtc
<chr><chr><chr><chr><chr>
CSG00110042010-01-25T08:45593052022010-01-25T08:45
CSG00110052010-02-12T08:30655802392010-02-12T08:30
CSG00110062010-03-10T08:30658454892010-03-10T08:30
CSG00110072010-05-06T08:12687061622010-05-06T08:12
CSG00110082010-07-11T09:203199027 2010-07-11T09:20
\n" ], "text/latex": [ "A grouped\\_df: 5 × 5\n", "\\begin{tabular}{lllll}\n", " study & pt & tempdtc & ipboxid & rfxendtc\\\\\n", " & & & & \\\\\n", "\\hline\n", "\t CSG001 & 1004 & 2010-01-25T08:45 & 59305202 & 2010-01-25T08:45\\\\\n", "\t CSG001 & 1005 & 2010-02-12T08:30 & 65580239 & 2010-02-12T08:30\\\\\n", "\t CSG001 & 1006 & 2010-03-10T08:30 & 65845489 & 2010-03-10T08:30\\\\\n", "\t CSG001 & 1007 & 2010-05-06T08:12 & 68706162 & 2010-05-06T08:12\\\\\n", "\t CSG001 & 1008 & 2010-07-11T09:20 & 3199027 & 2010-07-11T09:20\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A grouped_df: 5 × 5\n", "\n", "| study <chr> | pt <chr> | tempdtc <chr> | ipboxid <chr> | rfxendtc <chr> |\n", "|---|---|---|---|---|\n", "| CSG001 | 1004 | 2010-01-25T08:45 | 59305202 | 2010-01-25T08:45 |\n", "| CSG001 | 1005 | 2010-02-12T08:30 | 65580239 | 2010-02-12T08:30 |\n", "| CSG001 | 1006 | 2010-03-10T08:30 | 65845489 | 2010-03-10T08:30 |\n", "| CSG001 | 1007 | 2010-05-06T08:12 | 68706162 | 2010-05-06T08:12 |\n", "| CSG001 | 1008 | 2010-07-11T09:20 | 3199027 | 2010-07-11T09:20 |\n", "\n" ], "text/plain": [ " study pt tempdtc ipboxid rfxendtc \n", "1 CSG001 1004 2010-01-25T08:45 59305202 2010-01-25T08:45\n", "2 CSG001 1005 2010-02-12T08:30 65580239 2010-02-12T08:30\n", "3 CSG001 1006 2010-03-10T08:30 65845489 2010-03-10T08:30\n", "4 CSG001 1007 2010-05-06T08:12 68706162 2010-05-06T08:12\n", "5 CSG001 1008 2010-07-11T09:20 3199027 2010-07-11T09:20" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rfxendtc" ] }, { "cell_type": "code", "execution_count": null, "id": "19919b7a-17ee-4817-b884-3f22af8d2707", "metadata": { "id": "19919b7a-17ee-4817-b884-3f22af8d2707" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "7fae7faa-2f18-4dd6-9846-5a598bb5f976", "metadata": { "id": "7fae7faa-2f18-4dd6-9846-5a598bb5f976" }, "source": [ "**Derive Planned and Actual Arm related variables**" ] }, { "cell_type": "code", "execution_count": null, "id": "ddb90821-9cbf-483c-ba89-294bef74827b", "metadata": { "id": "ddb90821-9cbf-483c-ba89-294bef74827b" }, "outputs": [], "source": [ "randno <- enrlment %>%\n", " filter(!is.na(randno) & randno!=\"\") %>%\n", " select(study, pt, randno)\n", "\n", "rand01 <- rand %>%\n", " mutate(\n", " armcd = tx_cd,\n", " arm = ifelse(armcd == \"ACTIVE\", \"Active\", ifelse(armcd == \"PBO\", \"Placebo\", NA_character_))\n", " ) %>%\n", " select(armcd, arm, randno=rand_id)\n", "\n", "armcd <- randno %>%\n", " left_join(rand01, by = \"randno\")" ] }, { "cell_type": "code", "execution_count": null, "id": "e0e01dcb-1870-4f20-92a8-e461d1cb8d48", "metadata": { "id": "e0e01dcb-1870-4f20-92a8-e461d1cb8d48", "outputId": "b5c53363-7a44-4f44-99c0-8f2cc849217b" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 3
studyptrandno
<chr><chr><chr>
CSG0011003514876
CSG0011004101415
CSG0011005306185
CSG0011006987435
CSG0011007098745
CSG0011008123098
\n" ], "text/latex": [ "A tibble: 6 × 3\n", "\\begin{tabular}{lll}\n", " study & pt & randno\\\\\n", " & & \\\\\n", "\\hline\n", "\t CSG001 & 1003 & 514876\\\\\n", "\t CSG001 & 1004 & 101415\\\\\n", "\t CSG001 & 1005 & 306185\\\\\n", "\t CSG001 & 1006 & 987435\\\\\n", "\t CSG001 & 1007 & 098745\\\\\n", "\t CSG001 & 1008 & 123098\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 6 × 3\n", "\n", "| study <chr> | pt <chr> | randno <chr> |\n", "|---|---|---|\n", "| CSG001 | 1003 | 514876 |\n", "| CSG001 | 1004 | 101415 |\n", "| CSG001 | 1005 | 306185 |\n", "| CSG001 | 1006 | 987435 |\n", "| CSG001 | 1007 | 098745 |\n", "| CSG001 | 1008 | 123098 |\n", "\n" ], "text/plain": [ " study pt randno\n", "1 CSG001 1003 514876\n", "2 CSG001 1004 101415\n", "3 CSG001 1005 306185\n", "4 CSG001 1006 987435\n", "5 CSG001 1007 098745\n", "6 CSG001 1008 123098" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "randno" ] }, { "cell_type": "code", "execution_count": null, "id": "8f2fc8c6-0f8a-4fd6-a2be-15410ecde424", "metadata": { "id": "8f2fc8c6-0f8a-4fd6-a2be-15410ecde424", "outputId": "225a0039-6881-4d19-d6c0-f78a70a62ba5" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 3
armcdarmrandno
<chr><chr><chr>
PBO Placebo514876
ACTIVEActive 101415
ACTIVEActive 306185
PBO Placebo987435
PBO Placebo098745
ACTIVEActive 123098
\n" ], "text/latex": [ "A tibble: 6 × 3\n", "\\begin{tabular}{lll}\n", " armcd & arm & randno\\\\\n", " & & \\\\\n", "\\hline\n", "\t PBO & Placebo & 514876\\\\\n", "\t ACTIVE & Active & 101415\\\\\n", "\t ACTIVE & Active & 306185\\\\\n", "\t PBO & Placebo & 987435\\\\\n", "\t PBO & Placebo & 098745\\\\\n", "\t ACTIVE & Active & 123098\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 6 × 3\n", "\n", "| armcd <chr> | arm <chr> | randno <chr> |\n", "|---|---|---|\n", "| PBO | Placebo | 514876 |\n", "| ACTIVE | Active | 101415 |\n", "| ACTIVE | Active | 306185 |\n", "| PBO | Placebo | 987435 |\n", "| PBO | Placebo | 098745 |\n", "| ACTIVE | Active | 123098 |\n", "\n" ], "text/plain": [ " armcd arm randno\n", "1 PBO Placebo 514876\n", "2 ACTIVE Active 101415\n", "3 ACTIVE Active 306185\n", "4 PBO Placebo 987435\n", "5 PBO Placebo 098745\n", "6 ACTIVE Active 123098" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rand01" ] }, { "cell_type": "code", "execution_count": null, "id": "5c28d2d6-da71-4c90-bef4-9b5e04bd9e85", "metadata": { "id": "5c28d2d6-da71-4c90-bef4-9b5e04bd9e85", "outputId": "7bc618bd-5360-4f37-9186-a46096f50e65" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 5
studyptrandnoarmcdarm
<chr><chr><chr><chr><chr>
CSG0011003514876PBO Placebo
CSG0011004101415ACTIVEActive
CSG0011005306185ACTIVEActive
CSG0011006987435PBO Placebo
CSG0011007098745PBO Placebo
CSG0011008123098ACTIVEActive
\n" ], "text/latex": [ "A tibble: 6 × 5\n", "\\begin{tabular}{lllll}\n", " study & pt & randno & armcd & arm\\\\\n", " & & & & \\\\\n", "\\hline\n", "\t CSG001 & 1003 & 514876 & PBO & Placebo\\\\\n", "\t CSG001 & 1004 & 101415 & ACTIVE & Active \\\\\n", "\t CSG001 & 1005 & 306185 & ACTIVE & Active \\\\\n", "\t CSG001 & 1006 & 987435 & PBO & Placebo\\\\\n", "\t CSG001 & 1007 & 098745 & PBO & Placebo\\\\\n", "\t CSG001 & 1008 & 123098 & ACTIVE & Active \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 6 × 5\n", "\n", "| study <chr> | pt <chr> | randno <chr> | armcd <chr> | arm <chr> |\n", "|---|---|---|---|---|\n", "| CSG001 | 1003 | 514876 | PBO | Placebo |\n", "| CSG001 | 1004 | 101415 | ACTIVE | Active |\n", "| CSG001 | 1005 | 306185 | ACTIVE | Active |\n", "| CSG001 | 1006 | 987435 | PBO | Placebo |\n", "| CSG001 | 1007 | 098745 | PBO | Placebo |\n", "| CSG001 | 1008 | 123098 | ACTIVE | Active |\n", "\n" ], "text/plain": [ " study pt randno armcd arm \n", "1 CSG001 1003 514876 PBO Placebo\n", "2 CSG001 1004 101415 ACTIVE Active \n", "3 CSG001 1005 306185 ACTIVE Active \n", "4 CSG001 1006 987435 PBO Placebo\n", "5 CSG001 1007 098745 PBO Placebo\n", "6 CSG001 1008 123098 ACTIVE Active " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "armcd" ] }, { "cell_type": "markdown", "id": "3e12bdf2-caa5-4d07-a662-423276f21d09", "metadata": { "id": "3e12bdf2-caa5-4d07-a662-423276f21d09" }, "source": [ "**Derive actual related variable**" ] }, { "cell_type": "code", "execution_count": null, "id": "25a3624c-f51d-4a06-b831-41366ff8da76", "metadata": { "id": "25a3624c-f51d-4a06-b831-41366ff8da76" }, "outputs": [], "source": [ "actarmcd01 <- rfxstdtc\n", "\n", "# Create 'box01' data frame\n", "box01 <- box %>%\n", " mutate(\n", " ipboxid = kitid,\n", " actarmcd = case_when(\n", " content == \"ACTIVE\" ~ \"ACTIVE\",\n", " content == \"PBO\" ~ \"PBO\",\n", " TRUE ~ NA_character_\n", " ),\n", " actarm = case_when(\n", " content == \"ACTIVE\" ~ \"Active\",\n", " content == \"PBO\" ~ \"Placebo\",\n", " TRUE ~ NA_character_\n", " )\n", " )\n", "\n", "# Merge 'actarmcd01' and 'box01' data frames by 'ipboxid'\n", "actarmcd <- left_join(actarmcd01, box01, by = \"ipboxid\") %>%\n", " filter(!is.na(actarmcd)) %>%\n", " select(study, pt, actarmcd, actarm)" ] }, { "cell_type": "code", "execution_count": null, "id": "7fd3db89-fe07-4992-9ebc-e68176afdce7", "metadata": { "id": "7fd3db89-fe07-4992-9ebc-e68176afdce7", "outputId": "36c7a54b-a85d-46ab-e568-f2a8c5bc0cb0" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A grouped_df: 5 × 4
studyptactarmcdactarm
<chr><chr><chr><chr>
CSG0011004ACTIVEActive
CSG0011005PBO Placebo
CSG0011006PBO Placebo
CSG0011007PBO Placebo
CSG0011008ACTIVEActive
\n" ], "text/latex": [ "A grouped\\_df: 5 × 4\n", "\\begin{tabular}{llll}\n", " study & pt & actarmcd & actarm\\\\\n", " & & & \\\\\n", "\\hline\n", "\t CSG001 & 1004 & ACTIVE & Active \\\\\n", "\t CSG001 & 1005 & PBO & Placebo\\\\\n", "\t CSG001 & 1006 & PBO & Placebo\\\\\n", "\t CSG001 & 1007 & PBO & Placebo\\\\\n", "\t CSG001 & 1008 & ACTIVE & Active \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A grouped_df: 5 × 4\n", "\n", "| study <chr> | pt <chr> | actarmcd <chr> | actarm <chr> |\n", "|---|---|---|---|\n", "| CSG001 | 1004 | ACTIVE | Active |\n", "| CSG001 | 1005 | PBO | Placebo |\n", "| CSG001 | 1006 | PBO | Placebo |\n", "| CSG001 | 1007 | PBO | Placebo |\n", "| CSG001 | 1008 | ACTIVE | Active |\n", "\n" ], "text/plain": [ " study pt actarmcd actarm \n", "1 CSG001 1004 ACTIVE Active \n", "2 CSG001 1005 PBO Placebo\n", "3 CSG001 1006 PBO Placebo\n", "4 CSG001 1007 PBO Placebo\n", "5 CSG001 1008 ACTIVE Active " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "actarmcd" ] }, { "cell_type": "markdown", "id": "b42a831b-5a6a-4cab-956d-7a9b748533cb", "metadata": { "id": "b42a831b-5a6a-4cab-956d-7a9b748533cb" }, "source": [ "**RFPENDTC;**" ] }, { "cell_type": "code", "execution_count": null, "id": "057aa56c-e123-46cc-b0cd-a45c0d05fb64", "metadata": { "id": "057aa56c-e123-46cc-b0cd-a45c0d05fb64" }, "outputs": [], "source": [ "# Combine the raw date variables into 'alldates01' data frame\n", "alldates01 <- bind_rows(\n", " adverse %>% select(study, pt, date = aestdt_raw),\n", " adverse %>% select(study, pt, date = aeendt_raw),\n", " adverse %>% select(study, pt, date = hadmtdt_raw),\n", " adverse %>% select(study, pt, date = hdsdt_raw),\n", " conmeds %>% select(study, pt, date = cmstdt_raw),\n", " conmeds %>% select(study, pt, date = cmendt_raw),\n", " ecg %>% select(study, pt, date = egdt_raw),\n", " enrlment %>% select(study, pt, date = icdt_raw),\n", " enrlment %>% select(study, pt, date = enrldt_raw),\n", " enrlment %>% select(study, pt, date = randdt_raw),\n", " eos %>% select(study, pt, date = eostdt_raw),\n", " eoip %>% select(study, pt, date = eostdt_raw),\n", " eq5d3l %>% select(study, pt, date = dt_raw),\n", " hosp %>% select(study, pt, date = stdt_raw),\n", " hosp %>% select(study, pt, date = endt_raw),\n", " ipadmin %>% select(study, pt, date = ipstdt_raw),\n", " lab_chem %>% select(study, pt, date = lbdt_raw),\n", " lab_hema %>% select(study, pt, date = lbdt_raw),\n", " physmeas %>% select(study, pt, date = pmdt_raw),\n", " surg %>% select(study, pt, date = surgdt_raw),\n", " vitals %>% select(study, pt, date = vsdt_raw)\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "70eb3365-1e9b-4a60-bf86-945b23c8a41b", "metadata": { "id": "70eb3365-1e9b-4a60-bf86-945b23c8a41b", "outputId": "82f5ca0e-94bc-4c4c-b8dd-c345d5e7a7cc" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 953 × 3
studyptdate
<chr><chr><chr>
CSG001100101/JAN/2010
CSG001100305/JAN/2010
CSG001100401/JAN/2010
CSG001100403/JAN/2010
CSG001100408/JAN/2010
CSG001100410/JAN/2010
CSG001100518/FEB/2010
CSG0011006UN/MAR/2010
CSG00110079/MAY/2010
CSG001100101/JAN/2010
CSG001100305/JAN/2010
CSG001100401/JAN/2010
CSG001100407/JAN/2010
CSG001100409/JAN/2010
CSG0011004
CSG001100521/FEB/2010
CSG001100625/MAR/2010
CSG001100712/MAY/2010
CSG0011001
CSG00110035/JAN/2010
CSG0011004
CSG0011004
CSG0011004
CSG0011004
CSG001100520/FEB/2020
CSG0011006
CSG0011007
CSG0011001
CSG00110035/JAN/2010
CSG0011004
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG001100811/Jul/2010
CSG00110044/JAN/2010
CSG00110055/FEB/2010
CSG00110061/MAR/2010
CSG001100713/APR/2010
CSG001100520/FEB/2010
CSG001100402/JAN/2010
CSG001100412/JAN/2010
CSG00110055/FEB/2010
CSG001100512/FEB/2010
CSG001100522/FEB/2010
CSG001100601/MAR/2010
CSG001100611/MAR/2010
CSG001100715/APR/2010
CSG001100729/APR/2010
\n" ], "text/latex": [ "A tibble: 953 × 3\n", "\\begin{tabular}{lll}\n", " study & pt & date\\\\\n", " & & \\\\\n", "\\hline\n", "\t CSG001 & 1001 & 01/JAN/2010\\\\\n", "\t CSG001 & 1003 & 05/JAN/2010\\\\\n", "\t CSG001 & 1004 & 01/JAN/2010\\\\\n", "\t CSG001 & 1004 & 03/JAN/2010\\\\\n", "\t CSG001 & 1004 & 08/JAN/2010\\\\\n", "\t CSG001 & 1004 & 10/JAN/2010\\\\\n", "\t CSG001 & 1005 & 18/FEB/2010\\\\\n", "\t CSG001 & 1006 & UN/MAR/2010\\\\\n", "\t CSG001 & 1007 & 9/MAY/2010 \\\\\n", "\t CSG001 & 1001 & 01/JAN/2010\\\\\n", "\t CSG001 & 1003 & 05/JAN/2010\\\\\n", "\t CSG001 & 1004 & 01/JAN/2010\\\\\n", "\t CSG001 & 1004 & 07/JAN/2010\\\\\n", "\t CSG001 & 1004 & 09/JAN/2010\\\\\n", "\t CSG001 & 1004 & \\\\\n", "\t CSG001 & 1005 & 21/FEB/2010\\\\\n", "\t CSG001 & 1006 & 25/MAR/2010\\\\\n", "\t CSG001 & 1007 & 12/MAY/2010\\\\\n", "\t CSG001 & 1001 & \\\\\n", "\t CSG001 & 1003 & 5/JAN/2010 \\\\\n", "\t CSG001 & 1004 & \\\\\n", "\t CSG001 & 1004 & \\\\\n", "\t CSG001 & 1004 & \\\\\n", "\t CSG001 & 1004 & \\\\\n", "\t CSG001 & 1005 & 20/FEB/2020\\\\\n", "\t CSG001 & 1006 & \\\\\n", "\t CSG001 & 1007 & \\\\\n", "\t CSG001 & 1001 & \\\\\n", "\t CSG001 & 1003 & 5/JAN/2010 \\\\\n", "\t CSG001 & 1004 & \\\\\n", "\t ⋮ & ⋮ & ⋮\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010\\\\\n", "\t CSG001 & 1004 & 4/JAN/2010 \\\\\n", "\t CSG001 & 1005 & 5/FEB/2010 \\\\\n", "\t CSG001 & 1006 & 1/MAR/2010 \\\\\n", "\t CSG001 & 1007 & 13/APR/2010\\\\\n", "\t CSG001 & 1005 & 20/FEB/2010\\\\\n", "\t CSG001 & 1004 & 02/JAN/2010\\\\\n", "\t CSG001 & 1004 & 12/JAN/2010\\\\\n", "\t CSG001 & 1005 & 5/FEB/2010 \\\\\n", "\t CSG001 & 1005 & 12/FEB/2010\\\\\n", "\t CSG001 & 1005 & 22/FEB/2010\\\\\n", "\t CSG001 & 1006 & 01/MAR/2010\\\\\n", "\t CSG001 & 1006 & 11/MAR/2010\\\\\n", "\t CSG001 & 1007 & 15/APR/2010\\\\\n", "\t CSG001 & 1007 & 29/APR/2010\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 953 × 3\n", "\n", "| study <chr> | pt <chr> | date <chr> |\n", "|---|---|---|\n", "| CSG001 | 1001 | 01/JAN/2010 |\n", "| CSG001 | 1003 | 05/JAN/2010 |\n", "| CSG001 | 1004 | 01/JAN/2010 |\n", "| CSG001 | 1004 | 03/JAN/2010 |\n", "| CSG001 | 1004 | 08/JAN/2010 |\n", "| CSG001 | 1004 | 10/JAN/2010 |\n", "| CSG001 | 1005 | 18/FEB/2010 |\n", "| CSG001 | 1006 | UN/MAR/2010 |\n", "| CSG001 | 1007 | 9/MAY/2010 |\n", "| CSG001 | 1001 | 01/JAN/2010 |\n", "| CSG001 | 1003 | 05/JAN/2010 |\n", "| CSG001 | 1004 | 01/JAN/2010 |\n", "| CSG001 | 1004 | 07/JAN/2010 |\n", "| CSG001 | 1004 | 09/JAN/2010 |\n", "| CSG001 | 1004 | |\n", "| CSG001 | 1005 | 21/FEB/2010 |\n", "| CSG001 | 1006 | 25/MAR/2010 |\n", "| CSG001 | 1007 | 12/MAY/2010 |\n", "| CSG001 | 1001 | |\n", "| CSG001 | 1003 | 5/JAN/2010 |\n", "| CSG001 | 1004 | |\n", "| CSG001 | 1004 | |\n", "| CSG001 | 1004 | |\n", "| CSG001 | 1004 | |\n", "| CSG001 | 1005 | 20/FEB/2020 |\n", "| CSG001 | 1006 | |\n", "| CSG001 | 1007 | |\n", "| CSG001 | 1001 | |\n", "| CSG001 | 1003 | 5/JAN/2010 |\n", "| CSG001 | 1004 | |\n", "| ⋮ | ⋮ | ⋮ |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1008 | 11/Jul/2010 |\n", "| CSG001 | 1004 | 4/JAN/2010 |\n", "| CSG001 | 1005 | 5/FEB/2010 |\n", "| CSG001 | 1006 | 1/MAR/2010 |\n", "| CSG001 | 1007 | 13/APR/2010 |\n", "| CSG001 | 1005 | 20/FEB/2010 |\n", "| CSG001 | 1004 | 02/JAN/2010 |\n", "| CSG001 | 1004 | 12/JAN/2010 |\n", "| CSG001 | 1005 | 5/FEB/2010 |\n", "| CSG001 | 1005 | 12/FEB/2010 |\n", "| CSG001 | 1005 | 22/FEB/2010 |\n", "| CSG001 | 1006 | 01/MAR/2010 |\n", "| CSG001 | 1006 | 11/MAR/2010 |\n", "| CSG001 | 1007 | 15/APR/2010 |\n", "| CSG001 | 1007 | 29/APR/2010 |\n", "\n" ], "text/plain": [ " study pt date \n", "1 CSG001 1001 01/JAN/2010\n", "2 CSG001 1003 05/JAN/2010\n", "3 CSG001 1004 01/JAN/2010\n", "4 CSG001 1004 03/JAN/2010\n", "5 CSG001 1004 08/JAN/2010\n", "6 CSG001 1004 10/JAN/2010\n", "7 CSG001 1005 18/FEB/2010\n", "8 CSG001 1006 UN/MAR/2010\n", "9 CSG001 1007 9/MAY/2010 \n", "10 CSG001 1001 01/JAN/2010\n", "11 CSG001 1003 05/JAN/2010\n", "12 CSG001 1004 01/JAN/2010\n", "13 CSG001 1004 07/JAN/2010\n", "14 CSG001 1004 09/JAN/2010\n", "15 CSG001 1004 \n", "16 CSG001 1005 21/FEB/2010\n", "17 CSG001 1006 25/MAR/2010\n", "18 CSG001 1007 12/MAY/2010\n", "19 CSG001 1001 \n", "20 CSG001 1003 5/JAN/2010 \n", "21 CSG001 1004 \n", "22 CSG001 1004 \n", "23 CSG001 1004 \n", "24 CSG001 1004 \n", "25 CSG001 1005 20/FEB/2020\n", "26 CSG001 1006 \n", "27 CSG001 1007 \n", "28 CSG001 1001 \n", "29 CSG001 1003 5/JAN/2010 \n", "30 CSG001 1004 \n", "⋮ ⋮ ⋮ ⋮ \n", "924 CSG001 1008 11/Jul/2010\n", "925 CSG001 1008 11/Jul/2010\n", "926 CSG001 1008 11/Jul/2010\n", "927 CSG001 1008 11/Jul/2010\n", "928 CSG001 1008 11/Jul/2010\n", "929 CSG001 1008 11/Jul/2010\n", "930 CSG001 1008 11/Jul/2010\n", "931 CSG001 1008 11/Jul/2010\n", "932 CSG001 1008 11/Jul/2010\n", "933 CSG001 1008 11/Jul/2010\n", "934 CSG001 1008 11/Jul/2010\n", "935 CSG001 1008 11/Jul/2010\n", "936 CSG001 1008 11/Jul/2010\n", "937 CSG001 1008 11/Jul/2010\n", "938 CSG001 1008 11/Jul/2010\n", "939 CSG001 1008 11/Jul/2010\n", "940 CSG001 1004 4/JAN/2010 \n", "941 CSG001 1005 5/FEB/2010 \n", "942 CSG001 1006 1/MAR/2010 \n", "943 CSG001 1007 13/APR/2010\n", "944 CSG001 1005 20/FEB/2010\n", "945 CSG001 1004 02/JAN/2010\n", "946 CSG001 1004 12/JAN/2010\n", "947 CSG001 1005 5/FEB/2010 \n", "948 CSG001 1005 12/FEB/2010\n", "949 CSG001 1005 22/FEB/2010\n", "950 CSG001 1006 01/MAR/2010\n", "951 CSG001 1006 11/MAR/2010\n", "952 CSG001 1007 15/APR/2010\n", "953 CSG001 1007 29/APR/2010" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "alldates01" ] }, { "cell_type": "code", "execution_count": null, "id": "dfedf01b-5e0c-4779-b2df-65fadff98cfb", "metadata": { "id": "dfedf01b-5e0c-4779-b2df-65fadff98cfb" }, "outputs": [], "source": [ "# Process the date variables to create date in ISO format sprintf(\"in 'alldates02' data frame\n", "alldates02 <- alldates01 %>%\n", " mutate(\n", " dayn = suppressWarnings(as.numeric(word(date, 1, sep='/'))),\n", " daync = sprintf(\"%02d\", dayn),\n", " day =suppressWarnings(as.numeric(word(date, 1, sep='/'))),\n", "\n", " monthc = toupper(word(date, 2, sep='/')),\n", " month = case_when(\n", " monthc == \"JAN\" ~ \"01\",\n", " monthc == \"FEB\" ~ \"02\",\n", " monthc == \"MAR\" ~ \"03\",\n", " monthc == \"APR\" ~ \"04\",\n", " monthc == \"MAY\" ~ \"05\",\n", " monthc == \"JUN\" ~ \"06\",\n", " monthc == \"JUL\" ~ \"07\",\n", " monthc == \"AUG\" ~ \"08\",\n", " monthc == \"SEP\" ~ \"09\",\n", " monthc == \"OCT\" ~ \"10\",\n", " monthc == \"NOV\" ~ \"11\",\n", " monthc == \"DEC\" ~ \"12\",\n", " TRUE ~ \"-\"\n", " ),\n", "\n", " year = word(date,3,sep='/'),\n", " year = if_else(toupper(year) == \"UNK\", \"-\", year),\n", "\n", " # datec = str_c(year, month, day, sep = \"-\"),\n", " datec = str_c(year, month, daync, sep = \"-\"),\n", "\n", " datec = ifelse(str_sub(datec, -5) == \"-----\", str_sub(datec, end = -6), datec),\n", " datec = ifelse(str_sub(datec, -4) == \"----\", str_sub(datec, end = -5), datec),\n", " datec = ifelse(str_sub(datec, -2) == \"--\", str_sub(datec, end = -3), datec)\n", "\n", " )\n", "\n", "\n", "alldates03 <-na.omit(alldates02)\n", "\n", "\n", "# Pick the latest non-missing date for each subject\n", "rfpendtc <- alldates03 %>%\n", " filter(!is.na(datec) & datec != \"\") %>%\n", " arrange(study, pt, datec) %>%\n", " group_by(study, pt) %>%\n", " slice(n()) %>%\n", " ungroup() %>%\n", " select(study, pt, rfpendtc = datec)" ] }, { "cell_type": "code", "execution_count": null, "id": "3dd63a58-c9ce-4156-b2ae-1d9be00cab6f", "metadata": { "id": "3dd63a58-c9ce-4156-b2ae-1d9be00cab6f", "outputId": "53565ef7-d0ec-43f2-ccea-74f2d474b973" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 932 × 10
studyptdatedayndayncdaymonthcmonthyeardatec
<chr><chr><chr><dbl><chr><dbl><chr><chr><chr><chr>
CSG001100101/JAN/2010 101 1JAN0120102010-01-01
CSG001100305/JAN/2010 505 5JAN0120102010-01-05
CSG001100401/JAN/2010 101 1JAN0120102010-01-01
CSG001100403/JAN/2010 303 3JAN0120102010-01-03
CSG001100408/JAN/2010 808 8JAN0120102010-01-08
CSG001100410/JAN/2010101010JAN0120102010-01-10
CSG001100518/FEB/2010181818FEB0220102010-02-18
CSG00110079/MAY/2010 909 9MAY0520102010-05-09
CSG001100101/JAN/2010 101 1JAN0120102010-01-01
CSG001100305/JAN/2010 505 5JAN0120102010-01-05
CSG001100401/JAN/2010 101 1JAN0120102010-01-01
CSG001100407/JAN/2010 707 7JAN0120102010-01-07
CSG001100409/JAN/2010 909 9JAN0120102010-01-09
CSG001100521/FEB/2010212121FEB0220102010-02-21
CSG001100625/MAR/2010252525MAR0320102010-03-25
CSG001100712/MAY/2010121212MAY0520102010-05-12
CSG00110035/JAN/2010 505 5JAN0120102010-01-05
CSG001100520/FEB/2020202020FEB0220202020-02-20
CSG00110035/JAN/2010 505 5JAN0120102010-01-05
CSG001100520/FEB/2020202020FEB0220202020-02-20
CSG00110066/MAR/2010 606 6MAR0320102010-03-06
CSG001100710/MAY/2010101010MAY0520102010-05-10
CSG001100625/MAR/2010252525MAR0320102010-03-25
CSG001100712/MAY/2010121212MAY0520102010-05-12
CSG00110044/JAN/2010 404 4JAN0120102010-01-04
CSG00110055/FEB/2010 505 5FEB0220102010-02-05
CSG001100522/FEB/2010222222FEB0220102010-02-22
CSG00110061/MAR/2010 101 1MAR0320102010-03-01
CSG001100713/APR/2010131313APR0420102010-04-13
CSG00110011/JAN/2010 101 1JAN0120102010-01-01
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG001100811/Jul/2010111111JUL0720102010-07-11
CSG00110044/JAN/2010 404 4JAN0120102010-01-04
CSG00110055/FEB/2010 505 5FEB0220102010-02-05
CSG00110061/MAR/2010 101 1MAR0320102010-03-01
CSG001100713/APR/2010131313APR0420102010-04-13
CSG001100520/FEB/2010202020FEB0220102010-02-20
CSG001100402/JAN/2010 202 2JAN0120102010-01-02
CSG001100412/JAN/2010121212JAN0120102010-01-12
CSG00110055/FEB/2010 505 5FEB0220102010-02-05
CSG001100512/FEB/2010121212FEB0220102010-02-12
CSG001100522/FEB/2010222222FEB0220102010-02-22
CSG001100601/MAR/2010 101 1MAR0320102010-03-01
CSG001100611/MAR/2010111111MAR0320102010-03-11
CSG001100715/APR/2010151515APR0420102010-04-15
CSG001100729/APR/2010292929APR0420102010-04-29
\n" ], "text/latex": [ "A tibble: 932 × 10\n", "\\begin{tabular}{llllllllll}\n", " study & pt & date & dayn & daync & day & monthc & month & year & datec\\\\\n", " & & & & & & & & & \\\\\n", "\\hline\n", "\t CSG001 & 1001 & 01/JAN/2010 & 1 & 01 & 1 & JAN & 01 & 2010 & 2010-01-01\\\\\n", "\t CSG001 & 1003 & 05/JAN/2010 & 5 & 05 & 5 & JAN & 01 & 2010 & 2010-01-05\\\\\n", "\t CSG001 & 1004 & 01/JAN/2010 & 1 & 01 & 1 & JAN & 01 & 2010 & 2010-01-01\\\\\n", "\t CSG001 & 1004 & 03/JAN/2010 & 3 & 03 & 3 & JAN & 01 & 2010 & 2010-01-03\\\\\n", "\t CSG001 & 1004 & 08/JAN/2010 & 8 & 08 & 8 & JAN & 01 & 2010 & 2010-01-08\\\\\n", "\t CSG001 & 1004 & 10/JAN/2010 & 10 & 10 & 10 & JAN & 01 & 2010 & 2010-01-10\\\\\n", "\t CSG001 & 1005 & 18/FEB/2010 & 18 & 18 & 18 & FEB & 02 & 2010 & 2010-02-18\\\\\n", "\t CSG001 & 1007 & 9/MAY/2010 & 9 & 09 & 9 & MAY & 05 & 2010 & 2010-05-09\\\\\n", "\t CSG001 & 1001 & 01/JAN/2010 & 1 & 01 & 1 & JAN & 01 & 2010 & 2010-01-01\\\\\n", "\t CSG001 & 1003 & 05/JAN/2010 & 5 & 05 & 5 & JAN & 01 & 2010 & 2010-01-05\\\\\n", "\t CSG001 & 1004 & 01/JAN/2010 & 1 & 01 & 1 & JAN & 01 & 2010 & 2010-01-01\\\\\n", "\t CSG001 & 1004 & 07/JAN/2010 & 7 & 07 & 7 & JAN & 01 & 2010 & 2010-01-07\\\\\n", "\t CSG001 & 1004 & 09/JAN/2010 & 9 & 09 & 9 & JAN & 01 & 2010 & 2010-01-09\\\\\n", "\t CSG001 & 1005 & 21/FEB/2010 & 21 & 21 & 21 & FEB & 02 & 2010 & 2010-02-21\\\\\n", "\t CSG001 & 1006 & 25/MAR/2010 & 25 & 25 & 25 & MAR & 03 & 2010 & 2010-03-25\\\\\n", "\t CSG001 & 1007 & 12/MAY/2010 & 12 & 12 & 12 & MAY & 05 & 2010 & 2010-05-12\\\\\n", "\t CSG001 & 1003 & 5/JAN/2010 & 5 & 05 & 5 & JAN & 01 & 2010 & 2010-01-05\\\\\n", "\t CSG001 & 1005 & 20/FEB/2020 & 20 & 20 & 20 & FEB & 02 & 2020 & 2020-02-20\\\\\n", "\t CSG001 & 1003 & 5/JAN/2010 & 5 & 05 & 5 & JAN & 01 & 2010 & 2010-01-05\\\\\n", "\t CSG001 & 1005 & 20/FEB/2020 & 20 & 20 & 20 & FEB & 02 & 2020 & 2020-02-20\\\\\n", "\t CSG001 & 1006 & 6/MAR/2010 & 6 & 06 & 6 & MAR & 03 & 2010 & 2010-03-06\\\\\n", "\t CSG001 & 1007 & 10/MAY/2010 & 10 & 10 & 10 & MAY & 05 & 2010 & 2010-05-10\\\\\n", "\t CSG001 & 1006 & 25/MAR/2010 & 25 & 25 & 25 & MAR & 03 & 2010 & 2010-03-25\\\\\n", "\t CSG001 & 1007 & 12/MAY/2010 & 12 & 12 & 12 & MAY & 05 & 2010 & 2010-05-12\\\\\n", "\t CSG001 & 1004 & 4/JAN/2010 & 4 & 04 & 4 & JAN & 01 & 2010 & 2010-01-04\\\\\n", "\t CSG001 & 1005 & 5/FEB/2010 & 5 & 05 & 5 & FEB & 02 & 2010 & 2010-02-05\\\\\n", "\t CSG001 & 1005 & 22/FEB/2010 & 22 & 22 & 22 & FEB & 02 & 2010 & 2010-02-22\\\\\n", "\t CSG001 & 1006 & 1/MAR/2010 & 1 & 01 & 1 & MAR & 03 & 2010 & 2010-03-01\\\\\n", "\t CSG001 & 1007 & 13/APR/2010 & 13 & 13 & 13 & APR & 04 & 2010 & 2010-04-13\\\\\n", "\t CSG001 & 1001 & 1/JAN/2010 & 1 & 01 & 1 & JAN & 01 & 2010 & 2010-01-01\\\\\n", "\t ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1008 & 11/Jul/2010 & 11 & 11 & 11 & JUL & 07 & 2010 & 2010-07-11\\\\\n", "\t CSG001 & 1004 & 4/JAN/2010 & 4 & 04 & 4 & JAN & 01 & 2010 & 2010-01-04\\\\\n", "\t CSG001 & 1005 & 5/FEB/2010 & 5 & 05 & 5 & FEB & 02 & 2010 & 2010-02-05\\\\\n", "\t CSG001 & 1006 & 1/MAR/2010 & 1 & 01 & 1 & MAR & 03 & 2010 & 2010-03-01\\\\\n", "\t CSG001 & 1007 & 13/APR/2010 & 13 & 13 & 13 & APR & 04 & 2010 & 2010-04-13\\\\\n", "\t CSG001 & 1005 & 20/FEB/2010 & 20 & 20 & 20 & FEB & 02 & 2010 & 2010-02-20\\\\\n", "\t CSG001 & 1004 & 02/JAN/2010 & 2 & 02 & 2 & JAN & 01 & 2010 & 2010-01-02\\\\\n", "\t CSG001 & 1004 & 12/JAN/2010 & 12 & 12 & 12 & JAN & 01 & 2010 & 2010-01-12\\\\\n", "\t CSG001 & 1005 & 5/FEB/2010 & 5 & 05 & 5 & FEB & 02 & 2010 & 2010-02-05\\\\\n", "\t CSG001 & 1005 & 12/FEB/2010 & 12 & 12 & 12 & FEB & 02 & 2010 & 2010-02-12\\\\\n", "\t CSG001 & 1005 & 22/FEB/2010 & 22 & 22 & 22 & FEB & 02 & 2010 & 2010-02-22\\\\\n", "\t CSG001 & 1006 & 01/MAR/2010 & 1 & 01 & 1 & MAR & 03 & 2010 & 2010-03-01\\\\\n", "\t CSG001 & 1006 & 11/MAR/2010 & 11 & 11 & 11 & MAR & 03 & 2010 & 2010-03-11\\\\\n", "\t CSG001 & 1007 & 15/APR/2010 & 15 & 15 & 15 & APR & 04 & 2010 & 2010-04-15\\\\\n", "\t CSG001 & 1007 & 29/APR/2010 & 29 & 29 & 29 & APR & 04 & 2010 & 2010-04-29\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 932 × 10\n", "\n", "| study <chr> | pt <chr> | date <chr> | dayn <dbl> | daync <chr> | day <dbl> | monthc <chr> | month <chr> | year <chr> | datec <chr> |\n", "|---|---|---|---|---|---|---|---|---|---|\n", "| CSG001 | 1001 | 01/JAN/2010 | 1 | 01 | 1 | JAN | 01 | 2010 | 2010-01-01 |\n", "| CSG001 | 1003 | 05/JAN/2010 | 5 | 05 | 5 | JAN | 01 | 2010 | 2010-01-05 |\n", "| CSG001 | 1004 | 01/JAN/2010 | 1 | 01 | 1 | JAN | 01 | 2010 | 2010-01-01 |\n", "| CSG001 | 1004 | 03/JAN/2010 | 3 | 03 | 3 | JAN | 01 | 2010 | 2010-01-03 |\n", "| CSG001 | 1004 | 08/JAN/2010 | 8 | 08 | 8 | JAN | 01 | 2010 | 2010-01-08 |\n", "| CSG001 | 1004 | 10/JAN/2010 | 10 | 10 | 10 | JAN | 01 | 2010 | 2010-01-10 |\n", "| CSG001 | 1005 | 18/FEB/2010 | 18 | 18 | 18 | FEB | 02 | 2010 | 2010-02-18 |\n", "| CSG001 | 1007 | 9/MAY/2010 | 9 | 09 | 9 | MAY | 05 | 2010 | 2010-05-09 |\n", "| CSG001 | 1001 | 01/JAN/2010 | 1 | 01 | 1 | JAN | 01 | 2010 | 2010-01-01 |\n", "| CSG001 | 1003 | 05/JAN/2010 | 5 | 05 | 5 | JAN | 01 | 2010 | 2010-01-05 |\n", "| CSG001 | 1004 | 01/JAN/2010 | 1 | 01 | 1 | JAN | 01 | 2010 | 2010-01-01 |\n", "| CSG001 | 1004 | 07/JAN/2010 | 7 | 07 | 7 | JAN | 01 | 2010 | 2010-01-07 |\n", "| CSG001 | 1004 | 09/JAN/2010 | 9 | 09 | 9 | JAN | 01 | 2010 | 2010-01-09 |\n", "| CSG001 | 1005 | 21/FEB/2010 | 21 | 21 | 21 | FEB | 02 | 2010 | 2010-02-21 |\n", "| CSG001 | 1006 | 25/MAR/2010 | 25 | 25 | 25 | MAR | 03 | 2010 | 2010-03-25 |\n", "| CSG001 | 1007 | 12/MAY/2010 | 12 | 12 | 12 | MAY | 05 | 2010 | 2010-05-12 |\n", "| CSG001 | 1003 | 5/JAN/2010 | 5 | 05 | 5 | JAN | 01 | 2010 | 2010-01-05 |\n", "| CSG001 | 1005 | 20/FEB/2020 | 20 | 20 | 20 | FEB | 02 | 2020 | 2020-02-20 |\n", "| CSG001 | 1003 | 5/JAN/2010 | 5 | 05 | 5 | JAN | 01 | 2010 | 2010-01-05 |\n", "| CSG001 | 1005 | 20/FEB/2020 | 20 | 20 | 20 | FEB | 02 | 2020 | 2020-02-20 |\n", "| CSG001 | 1006 | 6/MAR/2010 | 6 | 06 | 6 | MAR | 03 | 2010 | 2010-03-06 |\n", "| CSG001 | 1007 | 10/MAY/2010 | 10 | 10 | 10 | MAY | 05 | 2010 | 2010-05-10 |\n", "| CSG001 | 1006 | 25/MAR/2010 | 25 | 25 | 25 | MAR | 03 | 2010 | 2010-03-25 |\n", "| CSG001 | 1007 | 12/MAY/2010 | 12 | 12 | 12 | MAY | 05 | 2010 | 2010-05-12 |\n", "| CSG001 | 1004 | 4/JAN/2010 | 4 | 04 | 4 | JAN | 01 | 2010 | 2010-01-04 |\n", "| CSG001 | 1005 | 5/FEB/2010 | 5 | 05 | 5 | FEB | 02 | 2010 | 2010-02-05 |\n", "| CSG001 | 1005 | 22/FEB/2010 | 22 | 22 | 22 | FEB | 02 | 2010 | 2010-02-22 |\n", "| CSG001 | 1006 | 1/MAR/2010 | 1 | 01 | 1 | MAR | 03 | 2010 | 2010-03-01 |\n", "| CSG001 | 1007 | 13/APR/2010 | 13 | 13 | 13 | APR | 04 | 2010 | 2010-04-13 |\n", "| CSG001 | 1001 | 1/JAN/2010 | 1 | 01 | 1 | JAN | 01 | 2010 | 2010-01-01 |\n", "| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1008 | 11/Jul/2010 | 11 | 11 | 11 | JUL | 07 | 2010 | 2010-07-11 |\n", "| CSG001 | 1004 | 4/JAN/2010 | 4 | 04 | 4 | JAN | 01 | 2010 | 2010-01-04 |\n", "| CSG001 | 1005 | 5/FEB/2010 | 5 | 05 | 5 | FEB | 02 | 2010 | 2010-02-05 |\n", "| CSG001 | 1006 | 1/MAR/2010 | 1 | 01 | 1 | MAR | 03 | 2010 | 2010-03-01 |\n", "| CSG001 | 1007 | 13/APR/2010 | 13 | 13 | 13 | APR | 04 | 2010 | 2010-04-13 |\n", "| CSG001 | 1005 | 20/FEB/2010 | 20 | 20 | 20 | FEB | 02 | 2010 | 2010-02-20 |\n", "| CSG001 | 1004 | 02/JAN/2010 | 2 | 02 | 2 | JAN | 01 | 2010 | 2010-01-02 |\n", "| CSG001 | 1004 | 12/JAN/2010 | 12 | 12 | 12 | JAN | 01 | 2010 | 2010-01-12 |\n", "| CSG001 | 1005 | 5/FEB/2010 | 5 | 05 | 5 | FEB | 02 | 2010 | 2010-02-05 |\n", "| CSG001 | 1005 | 12/FEB/2010 | 12 | 12 | 12 | FEB | 02 | 2010 | 2010-02-12 |\n", "| CSG001 | 1005 | 22/FEB/2010 | 22 | 22 | 22 | FEB | 02 | 2010 | 2010-02-22 |\n", "| CSG001 | 1006 | 01/MAR/2010 | 1 | 01 | 1 | MAR | 03 | 2010 | 2010-03-01 |\n", "| CSG001 | 1006 | 11/MAR/2010 | 11 | 11 | 11 | MAR | 03 | 2010 | 2010-03-11 |\n", "| CSG001 | 1007 | 15/APR/2010 | 15 | 15 | 15 | APR | 04 | 2010 | 2010-04-15 |\n", "| CSG001 | 1007 | 29/APR/2010 | 29 | 29 | 29 | APR | 04 | 2010 | 2010-04-29 |\n", "\n" ], "text/plain": [ " study pt date dayn daync day monthc month year datec \n", "1 CSG001 1001 01/JAN/2010 1 01 1 JAN 01 2010 2010-01-01\n", "2 CSG001 1003 05/JAN/2010 5 05 5 JAN 01 2010 2010-01-05\n", "3 CSG001 1004 01/JAN/2010 1 01 1 JAN 01 2010 2010-01-01\n", "4 CSG001 1004 03/JAN/2010 3 03 3 JAN 01 2010 2010-01-03\n", "5 CSG001 1004 08/JAN/2010 8 08 8 JAN 01 2010 2010-01-08\n", "6 CSG001 1004 10/JAN/2010 10 10 10 JAN 01 2010 2010-01-10\n", "7 CSG001 1005 18/FEB/2010 18 18 18 FEB 02 2010 2010-02-18\n", "8 CSG001 1007 9/MAY/2010 9 09 9 MAY 05 2010 2010-05-09\n", "9 CSG001 1001 01/JAN/2010 1 01 1 JAN 01 2010 2010-01-01\n", "10 CSG001 1003 05/JAN/2010 5 05 5 JAN 01 2010 2010-01-05\n", "11 CSG001 1004 01/JAN/2010 1 01 1 JAN 01 2010 2010-01-01\n", "12 CSG001 1004 07/JAN/2010 7 07 7 JAN 01 2010 2010-01-07\n", "13 CSG001 1004 09/JAN/2010 9 09 9 JAN 01 2010 2010-01-09\n", "14 CSG001 1005 21/FEB/2010 21 21 21 FEB 02 2010 2010-02-21\n", "15 CSG001 1006 25/MAR/2010 25 25 25 MAR 03 2010 2010-03-25\n", "16 CSG001 1007 12/MAY/2010 12 12 12 MAY 05 2010 2010-05-12\n", "17 CSG001 1003 5/JAN/2010 5 05 5 JAN 01 2010 2010-01-05\n", "18 CSG001 1005 20/FEB/2020 20 20 20 FEB 02 2020 2020-02-20\n", "19 CSG001 1003 5/JAN/2010 5 05 5 JAN 01 2010 2010-01-05\n", "20 CSG001 1005 20/FEB/2020 20 20 20 FEB 02 2020 2020-02-20\n", "21 CSG001 1006 6/MAR/2010 6 06 6 MAR 03 2010 2010-03-06\n", "22 CSG001 1007 10/MAY/2010 10 10 10 MAY 05 2010 2010-05-10\n", "23 CSG001 1006 25/MAR/2010 25 25 25 MAR 03 2010 2010-03-25\n", "24 CSG001 1007 12/MAY/2010 12 12 12 MAY 05 2010 2010-05-12\n", "25 CSG001 1004 4/JAN/2010 4 04 4 JAN 01 2010 2010-01-04\n", "26 CSG001 1005 5/FEB/2010 5 05 5 FEB 02 2010 2010-02-05\n", "27 CSG001 1005 22/FEB/2010 22 22 22 FEB 02 2010 2010-02-22\n", "28 CSG001 1006 1/MAR/2010 1 01 1 MAR 03 2010 2010-03-01\n", "29 CSG001 1007 13/APR/2010 13 13 13 APR 04 2010 2010-04-13\n", "30 CSG001 1001 1/JAN/2010 1 01 1 JAN 01 2010 2010-01-01\n", "⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ \n", "903 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "904 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "905 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "906 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "907 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "908 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "909 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "910 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "911 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "912 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "913 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "914 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "915 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "916 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "917 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "918 CSG001 1008 11/Jul/2010 11 11 11 JUL 07 2010 2010-07-11\n", "919 CSG001 1004 4/JAN/2010 4 04 4 JAN 01 2010 2010-01-04\n", "920 CSG001 1005 5/FEB/2010 5 05 5 FEB 02 2010 2010-02-05\n", "921 CSG001 1006 1/MAR/2010 1 01 1 MAR 03 2010 2010-03-01\n", "922 CSG001 1007 13/APR/2010 13 13 13 APR 04 2010 2010-04-13\n", "923 CSG001 1005 20/FEB/2010 20 20 20 FEB 02 2010 2010-02-20\n", "924 CSG001 1004 02/JAN/2010 2 02 2 JAN 01 2010 2010-01-02\n", "925 CSG001 1004 12/JAN/2010 12 12 12 JAN 01 2010 2010-01-12\n", "926 CSG001 1005 5/FEB/2010 5 05 5 FEB 02 2010 2010-02-05\n", "927 CSG001 1005 12/FEB/2010 12 12 12 FEB 02 2010 2010-02-12\n", "928 CSG001 1005 22/FEB/2010 22 22 22 FEB 02 2010 2010-02-22\n", "929 CSG001 1006 01/MAR/2010 1 01 1 MAR 03 2010 2010-03-01\n", "930 CSG001 1006 11/MAR/2010 11 11 11 MAR 03 2010 2010-03-11\n", "931 CSG001 1007 15/APR/2010 15 15 15 APR 04 2010 2010-04-15\n", "932 CSG001 1007 29/APR/2010 29 29 29 APR 04 2010 2010-04-29" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "alldates03" ] }, { "cell_type": "code", "execution_count": null, "id": "7895ade1-11e3-4d86-ae8e-93c0db944a97", "metadata": { "id": "7895ade1-11e3-4d86-ae8e-93c0db944a97", "outputId": "62036c8f-11aa-4ec4-fec4-92b8de68d473" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 8 × 3
studyptrfpendtc
<chr><chr><chr>
CSG00110012010-01-01
CSG00110022010-01-05
CSG00110032010-01-05
CSG00110042010-02-28
CSG00110052020-02-20
CSG00110062010-03-25
CSG00110072010-06-12
CSG00110082010-08-18
\n" ], "text/latex": [ "A tibble: 8 × 3\n", "\\begin{tabular}{lll}\n", " study & pt & rfpendtc\\\\\n", " & & \\\\\n", "\\hline\n", "\t CSG001 & 1001 & 2010-01-01\\\\\n", "\t CSG001 & 1002 & 2010-01-05\\\\\n", "\t CSG001 & 1003 & 2010-01-05\\\\\n", "\t CSG001 & 1004 & 2010-02-28\\\\\n", "\t CSG001 & 1005 & 2020-02-20\\\\\n", "\t CSG001 & 1006 & 2010-03-25\\\\\n", "\t CSG001 & 1007 & 2010-06-12\\\\\n", "\t CSG001 & 1008 & 2010-08-18\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 8 × 3\n", "\n", "| study <chr> | pt <chr> | rfpendtc <chr> |\n", "|---|---|---|\n", "| CSG001 | 1001 | 2010-01-01 |\n", "| CSG001 | 1002 | 2010-01-05 |\n", "| CSG001 | 1003 | 2010-01-05 |\n", "| CSG001 | 1004 | 2010-02-28 |\n", "| CSG001 | 1005 | 2020-02-20 |\n", "| CSG001 | 1006 | 2010-03-25 |\n", "| CSG001 | 1007 | 2010-06-12 |\n", "| CSG001 | 1008 | 2010-08-18 |\n", "\n" ], "text/plain": [ " study pt rfpendtc \n", "1 CSG001 1001 2010-01-01\n", "2 CSG001 1002 2010-01-05\n", "3 CSG001 1003 2010-01-05\n", "4 CSG001 1004 2010-02-28\n", "5 CSG001 1005 2020-02-20\n", "6 CSG001 1006 2010-03-25\n", "7 CSG001 1007 2010-06-12\n", "8 CSG001 1008 2010-08-18" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rfpendtc" ] }, { "cell_type": "markdown", "id": "8ad0277b-d090-4eb5-8ec7-364036ac7e20", "metadata": { "id": "8ad0277b-d090-4eb5-8ec7-364036ac7e20" }, "source": [ "**Merge all datasets together**" ] }, { "cell_type": "code", "execution_count": null, "id": "e7791836-1086-4c13-818b-016e758196bc", "metadata": { "id": "e7791836-1086-4c13-818b-016e758196bc" }, "outputs": [], "source": [ "dm02 <- dm01 %>%\n", " left_join(rficdtc, by = c(\"study\", \"pt\")) %>%\n", " left_join(dthdtc, by = c(\"study\", \"pt\")) %>%\n", " left_join(rfendtc, by = c(\"study\", \"pt\")) %>%\n", " left_join(rfxstdtc, by = c(\"study\", \"pt\")) %>%\n", " left_join(rfxendtc, by = c(\"study\", \"pt\")) %>%\n", " left_join(armcd, by = c(\"study\", \"pt\")) %>%\n", " left_join(actarmcd, by = c(\"study\", \"pt\")) %>%\n", " left_join(rfpendtc, by = c(\"study\", \"pt\"))" ] }, { "cell_type": "markdown", "id": "0954a56b-16cc-4f44-8d57-3076c6391fce", "metadata": { "id": "0954a56b-16cc-4f44-8d57-3076c6391fce" }, "source": [ "**Derive additional variables which are dependent on other derived variables**" ] }, { "cell_type": "code", "execution_count": null, "id": "253d98ad-f824-4d9f-bbb8-6600b2180d15", "metadata": { "id": "253d98ad-f824-4d9f-bbb8-6600b2180d15" }, "outputs": [], "source": [ "dm03 <- dm02 %>%\n", " mutate(\n", " rfstdtc = substr(rfxstdtc, 1, 10),\n", " rfstdtc = ifelse(is.na(rfstdtc) & !is.na(randdtc), randdtc, rfstdtc),\n", " rfstdtc = ifelse(is.na(rfstdtc) & !is.na(rficdtc), rficdtc, rfstdtc),\n", "\n", " armcd = case_when(\n", " is.na(enrldtc) ~ \"SCRNFAIL\",\n", " is.na(randdtc) ~ \"NOTASSGN\",\n", " TRUE ~ armcd\n", " ),\n", "\n", " arm = case_when(\n", " armcd ==\"SCRNFAIL\" ~ \"Screen Failure\",\n", " armcd == \"NOTASSGN\" ~ \"Not Assigned\",\n", " TRUE ~ arm),\n", "\n", " actarmcd = case_when(\n", " is.na(enrldtc) ~ \"SCRNFAIL\",\n", " is.na(randdtc) ~ \"NOTASSGN\",\n", " is.na(rfxstdtc) ~ \"NOTTRT\",\n", " TRUE ~ actarmcd\n", " ),\n", "\n", " actarm = case_when(\n", " actarmcd ==\"SCRNFAIL\" ~ \"Screen Failure\",\n", " actarmcd == \"NOTASSGN\" ~ \"Not Assigned\",\n", " actarmcd == \"NOTTRT\" ~ \"Not Treated\",\n", " TRUE ~ actarm),\n", "\n", " ) %>%\n", " rename_all(toupper)\n", "\n", "# Write attributes and keep only required variables and in the required order\n", "varlist <- c(\n", " 'STUDYID', 'DOMAIN', 'USUBJID', 'SUBJID', 'RFSTDTC', 'RFENDTC', 'RFXSTDTC', 'RFXENDTC',\n", " 'RFICDTC', 'RFPENDTC', 'DTHDTC', 'DTHFL', 'SITEID', 'AGE', 'AGEU', 'SEX', 'RACE', 'ETHNIC',\n", " 'ARMCD', 'ARM', 'ACTARMCD', 'ACTARM', 'COUNTRY', 'RACE'\n", ")\n", "\n", "dm <- dm03 %>%\n", " select(all_of(varlist))\n", "\n", "output <- dm\n", "" ] }, { "cell_type": "code", "execution_count": null, "id": "39d9ffc2-3a64-4d53-9804-d3e69e20f5fa", "metadata": { "id": "39d9ffc2-3a64-4d53-9804-d3e69e20f5fa", "outputId": "5cda1e1a-03cf-4725-fee9-c82b3e09f38f" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 8 × 23
STUDYIDDOMAINUSUBJIDSUBJIDRFSTDTCRFENDTCRFXSTDTCRFXENDTCRFICDTCRFPENDTCAGEAGEUSEXRACEETHNICARMCDARMACTARMCDACTARMCOUNTRY
<chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><int><chr><chr><chr><chr><chr><chr><chr><chr><chr>
CSG001DMCSG001-100110012010-01-01NA NA NA 2010-01-012010-01-0135YEARSMWHITE HISPANIC OR LATINO SCRNFAILScreen FailureSCRNFAILScreen FailureUSA
CSG001DMCSG001-100210022010-01-012010-01-05NA NA 2010-01-012010-01-0540YEARSFMULTIPLE NOT HISPANIC OR LATINONOTASSGNNot Assigned NOTASSGNNot Assigned USA
CSG001DMCSG001-100310032010-01-032010-01-05NA NA 2010-01-012010-01-0540YEARSMOTHER HISPANIC OR LATINO PBO Placebo NOTTRT Not Treated USA
CSG001DMCSG001-100410042010-01-052010-02-282010-01-05T08:352010-01-25T08:452010-01-012010-02-2838YEARSMWHITE HISPANIC OR LATINO ACTIVE Active ACTIVE Active USA
CSG001DMCSG001-100510052010-02-05NA 2010-02-05T08:462010-02-12T08:302010-01-152020-02-2064YEARSMAMERICAN INDIAN OR ALASKA NATIVE NOT HISPANIC OR LATINOACTIVE Active PBO Placebo USA
CSG001DMCSG001-100610062010-03-022010-03-252010-03-02T08:302010-03-10T08:302010-02-182010-03-2575YEARSFNATIVE HAWAIIAN OR OTHER PACIFIC ISLANDERNOT HISPANIC OR LATINOPBO Placebo PBO Placebo USA
CSG001DMCSG001-100710072010-04-152010-06-122010-04-15T08:232010-05-06T08:122010-04-042010-06-1232YEARSMUNKNOWN NOT HISPANIC OR LATINOPBO Placebo PBO Placebo USA
CSG001DMCSG001-100810082010-06-272010-08-182010-06-27T08:452010-07-11T09:202010-06-202010-08-1883YEARSFNOT REPORTED NOT HISPANIC OR LATINOACTIVE Active ACTIVE Active USA
\n" ], "text/latex": [ "A tibble: 8 × 23\n", "\\begin{tabular}{lllllllllllllllllllll}\n", " STUDYID & DOMAIN & USUBJID & SUBJID & RFSTDTC & RFENDTC & RFXSTDTC & RFXENDTC & RFICDTC & RFPENDTC & ⋯ & AGE & AGEU & SEX & RACE & ETHNIC & ARMCD & ARM & ACTARMCD & ACTARM & COUNTRY\\\\\n", " & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n", "\\hline\n", "\t CSG001 & DM & CSG001-1001 & 1001 & 2010-01-01 & NA & NA & NA & 2010-01-01 & 2010-01-01 & ⋯ & 35 & YEARS & M & WHITE & HISPANIC OR LATINO & SCRNFAIL & Screen Failure & SCRNFAIL & Screen Failure & USA\\\\\n", "\t CSG001 & DM & CSG001-1002 & 1002 & 2010-01-01 & 2010-01-05 & NA & NA & 2010-01-01 & 2010-01-05 & ⋯ & 40 & YEARS & F & MULTIPLE & NOT HISPANIC OR LATINO & NOTASSGN & Not Assigned & NOTASSGN & Not Assigned & USA\\\\\n", "\t CSG001 & DM & CSG001-1003 & 1003 & 2010-01-03 & 2010-01-05 & NA & NA & 2010-01-01 & 2010-01-05 & ⋯ & 40 & YEARS & M & OTHER & HISPANIC OR LATINO & PBO & Placebo & NOTTRT & Not Treated & USA\\\\\n", "\t CSG001 & DM & CSG001-1004 & 1004 & 2010-01-05 & 2010-02-28 & 2010-01-05T08:35 & 2010-01-25T08:45 & 2010-01-01 & 2010-02-28 & ⋯ & 38 & YEARS & M & WHITE & HISPANIC OR LATINO & ACTIVE & Active & ACTIVE & Active & USA\\\\\n", "\t CSG001 & DM & CSG001-1005 & 1005 & 2010-02-05 & NA & 2010-02-05T08:46 & 2010-02-12T08:30 & 2010-01-15 & 2020-02-20 & ⋯ & 64 & YEARS & M & AMERICAN INDIAN OR ALASKA NATIVE & NOT HISPANIC OR LATINO & ACTIVE & Active & PBO & Placebo & USA\\\\\n", "\t CSG001 & DM & CSG001-1006 & 1006 & 2010-03-02 & 2010-03-25 & 2010-03-02T08:30 & 2010-03-10T08:30 & 2010-02-18 & 2010-03-25 & ⋯ & 75 & YEARS & F & NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER & NOT HISPANIC OR LATINO & PBO & Placebo & PBO & Placebo & USA\\\\\n", "\t CSG001 & DM & CSG001-1007 & 1007 & 2010-04-15 & 2010-06-12 & 2010-04-15T08:23 & 2010-05-06T08:12 & 2010-04-04 & 2010-06-12 & ⋯ & 32 & YEARS & M & UNKNOWN & NOT HISPANIC OR LATINO & PBO & Placebo & PBO & Placebo & USA\\\\\n", "\t CSG001 & DM & CSG001-1008 & 1008 & 2010-06-27 & 2010-08-18 & 2010-06-27T08:45 & 2010-07-11T09:20 & 2010-06-20 & 2010-08-18 & ⋯ & 83 & YEARS & F & NOT REPORTED & NOT HISPANIC OR LATINO & ACTIVE & Active & ACTIVE & Active & USA\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 8 × 23\n", "\n", "| STUDYID <chr> | DOMAIN <chr> | USUBJID <chr> | SUBJID <chr> | RFSTDTC <chr> | RFENDTC <chr> | RFXSTDTC <chr> | RFXENDTC <chr> | RFICDTC <chr> | RFPENDTC <chr> | ⋯ ⋯ | AGE <int> | AGEU <chr> | SEX <chr> | RACE <chr> | ETHNIC <chr> | ARMCD <chr> | ARM <chr> | ACTARMCD <chr> | ACTARM <chr> | COUNTRY <chr> |\n", "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", "| CSG001 | DM | CSG001-1001 | 1001 | 2010-01-01 | NA | NA | NA | 2010-01-01 | 2010-01-01 | ⋯ | 35 | YEARS | M | WHITE | HISPANIC OR LATINO | SCRNFAIL | Screen Failure | SCRNFAIL | Screen Failure | USA |\n", "| CSG001 | DM | CSG001-1002 | 1002 | 2010-01-01 | 2010-01-05 | NA | NA | 2010-01-01 | 2010-01-05 | ⋯ | 40 | YEARS | F | MULTIPLE | NOT HISPANIC OR LATINO | NOTASSGN | Not Assigned | NOTASSGN | Not Assigned | USA |\n", "| CSG001 | DM | CSG001-1003 | 1003 | 2010-01-03 | 2010-01-05 | NA | NA | 2010-01-01 | 2010-01-05 | ⋯ | 40 | YEARS | M | OTHER | HISPANIC OR LATINO | PBO | Placebo | NOTTRT | Not Treated | USA |\n", "| CSG001 | DM | CSG001-1004 | 1004 | 2010-01-05 | 2010-02-28 | 2010-01-05T08:35 | 2010-01-25T08:45 | 2010-01-01 | 2010-02-28 | ⋯ | 38 | YEARS | M | WHITE | HISPANIC OR LATINO | ACTIVE | Active | ACTIVE | Active | USA |\n", "| CSG001 | DM | CSG001-1005 | 1005 | 2010-02-05 | NA | 2010-02-05T08:46 | 2010-02-12T08:30 | 2010-01-15 | 2020-02-20 | ⋯ | 64 | YEARS | M | AMERICAN INDIAN OR ALASKA NATIVE | NOT HISPANIC OR LATINO | ACTIVE | Active | PBO | Placebo | USA |\n", "| CSG001 | DM | CSG001-1006 | 1006 | 2010-03-02 | 2010-03-25 | 2010-03-02T08:30 | 2010-03-10T08:30 | 2010-02-18 | 2010-03-25 | ⋯ | 75 | YEARS | F | NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER | NOT HISPANIC OR LATINO | PBO | Placebo | PBO | Placebo | USA |\n", "| CSG001 | DM | CSG001-1007 | 1007 | 2010-04-15 | 2010-06-12 | 2010-04-15T08:23 | 2010-05-06T08:12 | 2010-04-04 | 2010-06-12 | ⋯ | 32 | YEARS | M | UNKNOWN | NOT HISPANIC OR LATINO | PBO | Placebo | PBO | Placebo | USA |\n", "| CSG001 | DM | CSG001-1008 | 1008 | 2010-06-27 | 2010-08-18 | 2010-06-27T08:45 | 2010-07-11T09:20 | 2010-06-20 | 2010-08-18 | ⋯ | 83 | YEARS | F | NOT REPORTED | NOT HISPANIC OR LATINO | ACTIVE | Active | ACTIVE | Active | USA |\n", "\n" ], "text/plain": [ " STUDYID DOMAIN USUBJID SUBJID RFSTDTC RFENDTC RFXSTDTC \n", "1 CSG001 DM CSG001-1001 1001 2010-01-01 NA NA \n", "2 CSG001 DM CSG001-1002 1002 2010-01-01 2010-01-05 NA \n", "3 CSG001 DM CSG001-1003 1003 2010-01-03 2010-01-05 NA \n", "4 CSG001 DM CSG001-1004 1004 2010-01-05 2010-02-28 2010-01-05T08:35\n", "5 CSG001 DM CSG001-1005 1005 2010-02-05 NA 2010-02-05T08:46\n", "6 CSG001 DM CSG001-1006 1006 2010-03-02 2010-03-25 2010-03-02T08:30\n", "7 CSG001 DM CSG001-1007 1007 2010-04-15 2010-06-12 2010-04-15T08:23\n", "8 CSG001 DM CSG001-1008 1008 2010-06-27 2010-08-18 2010-06-27T08:45\n", " RFXENDTC RFICDTC RFPENDTC ⋯ AGE AGEU SEX\n", "1 NA 2010-01-01 2010-01-01 ⋯ 35 YEARS M \n", "2 NA 2010-01-01 2010-01-05 ⋯ 40 YEARS F \n", "3 NA 2010-01-01 2010-01-05 ⋯ 40 YEARS M \n", "4 2010-01-25T08:45 2010-01-01 2010-02-28 ⋯ 38 YEARS M \n", "5 2010-02-12T08:30 2010-01-15 2020-02-20 ⋯ 64 YEARS M \n", "6 2010-03-10T08:30 2010-02-18 2010-03-25 ⋯ 75 YEARS F \n", "7 2010-05-06T08:12 2010-04-04 2010-06-12 ⋯ 32 YEARS M \n", "8 2010-07-11T09:20 2010-06-20 2010-08-18 ⋯ 83 YEARS F \n", " RACE ETHNIC ARMCD \n", "1 WHITE HISPANIC OR LATINO SCRNFAIL\n", "2 MULTIPLE NOT HISPANIC OR LATINO NOTASSGN\n", "3 OTHER HISPANIC OR LATINO PBO \n", "4 WHITE HISPANIC OR LATINO ACTIVE \n", "5 AMERICAN INDIAN OR ALASKA NATIVE NOT HISPANIC OR LATINO ACTIVE \n", "6 NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER NOT HISPANIC OR LATINO PBO \n", "7 UNKNOWN NOT HISPANIC OR LATINO PBO \n", "8 NOT REPORTED NOT HISPANIC OR LATINO ACTIVE \n", " ARM ACTARMCD ACTARM COUNTRY\n", "1 Screen Failure SCRNFAIL Screen Failure USA \n", "2 Not Assigned NOTASSGN Not Assigned USA \n", "3 Placebo NOTTRT Not Treated USA \n", "4 Active ACTIVE Active USA \n", "5 Active PBO Placebo USA \n", "6 Placebo PBO Placebo USA \n", "7 Placebo PBO Placebo USA \n", "8 Active ACTIVE Active USA " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "View(dm)" ] }, { "cell_type": "code", "execution_count": null, "id": "dd6368e1-4f5e-40d9-a53a-42d08bd6128c", "metadata": { "id": "dd6368e1-4f5e-40d9-a53a-42d08bd6128c" }, "outputs": [], "source": [ "save(dm, file = \"C:/Users/Waraba/Desktop/Ckinical Trial Training Materiels/SDTM_withR/SDTM_EXAMPLE/SDTM_FINAL_DATA/dm.RData\")" ] }, { "cell_type": "code", "execution_count": null, "id": "75e431cb-f50e-4a41-943b-e5756194bd83", "metadata": { "id": "75e431cb-f50e-4a41-943b-e5756194bd83" }, "outputs": [], "source": [ "write.csv(dm, \"C:/Users/Waraba/Desktop/Ckinical Trial Training Materiels/SDTM_withR/SDTM_EXAMPLE/SDTM_FINAL_DATA/dm.csv\", row.names = FALSE)" ] }, { "cell_type": "code", "execution_count": null, "id": "dddc4857-9662-448b-bc7f-08847ea26720", "metadata": { "id": "dddc4857-9662-448b-bc7f-08847ea26720" }, "outputs": [], "source": [ "write_xpt(dm, \"dm.xpt\")" ] }, { "cell_type": "code", "execution_count": null, "id": "3423f477-fb05-4104-88b6-364900cd9a22", "metadata": { "id": "3423f477-fb05-4104-88b6-364900cd9a22", "outputId": "03fb740e-003e-4130-c067-6e335f381e68" }, "outputs": [ { "data": { "text/html": [ "\n", "
  1. 'STUDYID'
  2. 'DOMAIN'
  3. 'USUBJID'
  4. 'SUBJID'
  5. 'RFSTDTC'
  6. 'RFENDTC'
  7. 'RFXSTDTC'
  8. 'RFXENDTC'
  9. 'RFICDTC'
  10. 'RFPENDTC'
  11. 'DTHDTC'
  12. 'DTHFL'
  13. 'SITEID'
  14. 'AGE'
  15. 'AGEU'
  16. 'SEX'
  17. 'RACE'
  18. 'ETHNIC'
  19. 'ARMCD'
  20. 'ARM'
  21. 'ACTARMCD'
  22. 'ACTARM'
  23. 'COUNTRY'
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 'STUDYID'\n", "\\item 'DOMAIN'\n", "\\item 'USUBJID'\n", "\\item 'SUBJID'\n", "\\item 'RFSTDTC'\n", "\\item 'RFENDTC'\n", "\\item 'RFXSTDTC'\n", "\\item 'RFXENDTC'\n", "\\item 'RFICDTC'\n", "\\item 'RFPENDTC'\n", "\\item 'DTHDTC'\n", "\\item 'DTHFL'\n", "\\item 'SITEID'\n", "\\item 'AGE'\n", "\\item 'AGEU'\n", "\\item 'SEX'\n", "\\item 'RACE'\n", "\\item 'ETHNIC'\n", "\\item 'ARMCD'\n", "\\item 'ARM'\n", "\\item 'ACTARMCD'\n", "\\item 'ACTARM'\n", "\\item 'COUNTRY'\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 'STUDYID'\n", "2. 'DOMAIN'\n", "3. 'USUBJID'\n", "4. 'SUBJID'\n", "5. 'RFSTDTC'\n", "6. 'RFENDTC'\n", "7. 'RFXSTDTC'\n", "8. 'RFXENDTC'\n", "9. 'RFICDTC'\n", "10. 'RFPENDTC'\n", "11. 'DTHDTC'\n", "12. 'DTHFL'\n", "13. 'SITEID'\n", "14. 'AGE'\n", "15. 'AGEU'\n", "16. 'SEX'\n", "17. 'RACE'\n", "18. 'ETHNIC'\n", "19. 'ARMCD'\n", "20. 'ARM'\n", "21. 'ACTARMCD'\n", "22. 'ACTARM'\n", "23. 'COUNTRY'\n", "\n", "\n" ], "text/plain": [ " [1] \"STUDYID\" \"DOMAIN\" \"USUBJID\" \"SUBJID\" \"RFSTDTC\" \"RFENDTC\" \n", " [7] \"RFXSTDTC\" \"RFXENDTC\" \"RFICDTC\" \"RFPENDTC\" \"DTHDTC\" \"DTHFL\" \n", "[13] \"SITEID\" \"AGE\" \"AGEU\" \"SEX\" \"RACE\" \"ETHNIC\" \n", "[19] \"ARMCD\" \"ARM\" \"ACTARMCD\" \"ACTARM\" \"COUNTRY\" " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "colnames(dm)" ] }, { "cell_type": "markdown", "id": "7df72c79-9526-4fee-8214-58d615c48a37", "metadata": { "id": "7df72c79-9526-4fee-8214-58d615c48a37" }, "source": [ "## 📬 Contacts\n", "\n", "Your comments and questions are valued and encouraged. Please feel free to contact the author:\n", "\n", "**Alpha Traore** \n", "Sr Data Scientist \n", "Biostat Consultants Inc. \n", "312 Ridgewood Pl \n", "Fort Thomas, KY 41075 \n", "📧 alpha@alphatraore.com \n", "🔗 [LinkedIn Profile] (https://www.linkedin.com/in/alphatraore)" ] }, { "cell_type": "code", "execution_count": null, "id": "4ff13937-bb4c-4c29-836e-3d034f05fa61", "metadata": { "id": "4ff13937-bb4c-4c29-836e-3d034f05fa61" }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "4.2.1" }, "colab": { "provenance": [], "include_colab_link": true } }, "nbformat": 4, "nbformat_minor": 5 }