跳转至

01-R项目结构

案例来源SHR-1811-206项目,QC部分用R写代码,spec和codelist共用main的一套

项目环境控制流程:

远程桌面使用方法:

在软件中心安装 rstudio,4.4.1版本r以及Rtools
alt textalt text

如果安装多个版本的R,可以在如下文件夹看到电脑中安装的R版本。
alt text

运行本项目需保证打开Rstuido是默认R版本为4.4.1,设置方式如下图。
alt text

从远程桌面打开Rproject文件
alt text

项目内部有设置好renv环境,无需额外进行package的安装。如果有想要安装的package请联系lead programmer统一进行安装,并更新renv环境。


00-setup.R

【由lead programmer创建和控制,其他人不建议修改】

类似于SAS项目中的setup.sas,主要用于加载包、定义函数、读取spec等,供后续代码调用。

代码讲解:

rm(list=ls()) -- 清空环境变量,保证每次运行代码时环境变量一致,避免之前的变量对结果造成影响 options(scipen = 200) -- 取消科学计数法

STEP1. path设定

储存在Environment的path变量中,调用方式如path$logqc、path$outqc

alt text

STEP2. settings设定

来源于iniprt.txt文件,储存在Environment的settings变量中,调用方式如settings$LANGUAGE、settings$AEMEDDRA

alt text

STEP3. spec和codelist读取

setup步骤会自动读取spec和codelist文件,并储存至Environment的spec_metacore变量中。

以下是本项目中包含的spec_metacore内容: alt text

对于单个程序调用,需要使用 ds_spec <- spec_metacore %>% select_dataset(Domain) 选择domain对应spec,其中比较常用的用于查看spec的操作为:

  1. ds_spec$supp: 查看该domain spec中的supp变量
    alt text
  2. ds_spec$codelist: 查看该domain spec中有CT的变量以及对应的codelist勾选的内容。
    alt text
  3. ds_spec$ds_vars: 查看该domain spec中勾选的变量以及TOC中Keys填写的排序变量和顺序
    alt text
  4. ds_spec$value_spec: 可以查看该domain spec中CT和变量对应关系
    alt text

同时提供以下读入的spec和codelist的文件数据方便检查excel填写内容:

alt text alt text

STEP4. rawprt

读取rawdata中sas数据,并储存至Environment的rawprt变量中,调用方式如rawprt$ae、rawprt$dm

alt text

注:为了避免每次读取数据消耗时间过长,数据读取后会存储至01_setup/rawdata-31DEC2025.rds中,日期来源于settings$CUTOFFDATE,如settings$CUTOFFDATE设定未变更,默认raw中数据并未发生版本变化,只读取对应存储的文件,当CUTOFFDATE发生变化后,会对rawdata数据再次读取并存储为新的rds文件。

STEP5. sdtmprt、sdtmqc

来源于main和qc使用r生成的sdtm数据,主要便于写代码时直接调用,避免费时读取sas数据,调用方式如sdtmqc$ae、sdtmqc$dm

对应的rds文件会存储到对应side的01_setup文件夹中,调用fct_final_output2xpt程序输出时会自动对这些文件进行更新。 alt text

STEP6. function读取

来源于08_macro即path$mcrprt和path$mcrqc的用户自定义函数,会自动读入Environment中方便调用

alt text

RELOAD PART

上述相关基础信息会保存至01_setup/setup.RDATA文件中,如需清楚当前运行环境并重新回复setup设定,可以直接运行以下代码

rm(list=ls())
load(file.path(getwd(), "/01_setup/setup.RDATA"))
alt text

注:直接读取setup.RDATA是调用的上次运行setup文件时的spec和codelist内容,如需更新相关信息,需重新跑00-setup.R文件

注意事项

  1. 如果更新了codelist或spec需要再次运行setup
  2. 要改数据集排序顺序需要改TOC中的KEYS列,需正确按照间隔输入排序变量,如STUDYID, USUBJID, SUBJID, DSDECOD, DSSTDTC, DSSCAT
  3. 因为R中大小写敏感,所以建议先apply CT再生成SEQ变量
  4. spec中TOC要勾选SUPP数据集,SUPP对应sheet也要勾好对应变量
  5. 【仅Project适用】规则设置:Tools-> Project Options...-> General
    alt text
  6. 建议设置:Tools-> Global Options...-> General -> Basic
    alt text

batchrun 工具 - batchrun-app.R

批量运行并输出log的batchrun工具,基于rshiny页面开发

使用方式:

  1. 在项目rstudio中打开文件 -> 点击右上角Run APP,即可看到操作界面 alt text alt text

  2. 选择要运行的程序(支持多选和排序),点击【运行选中的程序】,可自由选择是否输出warning,运行结束后,会出现本次运行的代码是否成功,并在【本次运行输出】中查看对应的log信息 alt text

  3. 【程序代码】部分支持用户快速修改代码中的小问题,选择【编辑程序】后可进行编辑,如需保存修改需点击【保存修改】,同时会生成一个之前版本的backup文件。 注:主要修改建议在rstudio中进行。 alt text alt text

  4. 【历史运行日志】和【QC结果检查】可查看10_log的log内容以及11_output中的qc output结果。