怎么从阿里巴巴做网站做网站下载什么软件

当前位置: 首页 > news >正文

怎么从阿里巴巴做网站,做网站下载什么软件,给别人做网站别人违法经营6,天津外贸网站建设公司写在前面

  • 使用的是Rstudio

  • 其实R已经有生成sdtm相关的package#xff0c;以下代码仅作为练习R语言的语法#xff0c;不是高效生成sdtm的方法

  • 代码中没有解决的问题包括#xff1a;EPOCH相关的逻辑没有考虑partial date的情况#xff1b;在使用arrange() function做…写在前面

  • 使用的是Rstudio

  • 其实R已经有生成sdtm相关的package以下代码仅作为练习R语言的语法不是高效生成sdtm的方法

  • 代码中没有解决的问题包括EPOCH相关的逻辑没有考虑partial date的情况在使用arrange() function做-SEQ排序时关于大小写英文字母的排序机制似乎与SAS语言的sort function有所不同导致使用相同的排序变量通过R和SAS排序后record的顺序会有不同输出xpt结果是乱码暂时输出到csv文件中。

  • 还没有写生成SUPPAE的代码

  • 代码参考了以下材料 Generating .xpt files with SAS, R and Python https://www.pharmasug.org/proceedings/2021/EP/PharmaSUG-2021-EP-057.pdf Yotube mycsg mycsg TASKS-SDTMGEN 以下是R代码 setwd(C://R_software) library(haven) library(dplyr) library(tidyverse) library(sas7bdat) library(SASxport) library(Hmisc)

    import source data raw_ae_001 - read_sas(C://rawdata/ae_001.sas7bdat) raw_meddrathsaurus - read_sas(C://rawdata/meddrathesaurus.sas7bdat) sdtm_dm - read_sas(C://sdtmdata/SDTM/DM.sas7bdat) sdtm_se - read_sas(C://rawdata/SE.sas7bdat)

    Update the variable name to uppercase, because var name is case sensitive in R names(raw_ae_001) - toupper(names(raw_ae_001)) names(raw_meddrathsaurus) - toupper(names(raw_meddrathsaurus))

    Filter ae raw data with AETERM not missing, and keep necessary variables ae - raw_ae_001 %%   select(SUBJECT,RECORDPOSITION,AETERM,AESTDAT_RAW,AESTTIM,AEENDAT_RAW,AEENTIM,          AESEV_STD,AESER_STD,AEACN_STD,AEREL_STD,AEREL_WD_STD,AEPATT_STD,AEOUT_STD,AESCONG_STD,          AESDISAB_STD,AESDTH_STD,AESHOSP_STD,AESLIFE_STD,AESMIE_STD,AEONGO) %%    filter(AETERM ! )  # Update AETERM value to uppercase in order to merge with source MedDRA coding data ae\(AETERM - toupper(ae\)AETERM)

    Filter MedDRA source data with AE pannel only meddra - raw_meddrathsaurus  %%   filter(PANELAE)

    Merge AE and MedDRA data (left join) by AETERM, create AESTDTC/AEENDTC  ae1 - merge (ae, meddra, by.x c(AETERM), by.y c(VERBATIM), all.x T) %%   # create AESTDTC   mutate(     stdayn suppressWarnings(as.numeric(word(AESTDAT_RAW,1))), ### as.numericinput, wordscan     stday if_else(!is.na(stdayn), str_pad(stdayn, width 2, pad 0), -), ### is.nanot missing, !not, str_padput xx.     stmonthc str_to_upper(word(AESTDAT_RAW, 2)), ### str_to_upperuppercase     stmonth case_when(       stmonthc JAN ~ 01,       stmonthc FEB ~ 02,       stmonthc MAR ~ 03,       stmonthc APR ~ 04,       stmonthc MAY ~ 05,       stmonthc JUN ~ 06,       stmonthc JUL ~ 07,       stmonthc AUG ~ 08,       stmonthc SEP ~ 09,       stmonthc OCT ~ 10,       stmonthc NOV ~ 11,       stmonthc DEC ~ 12,       TRUE ~ -     ),     styear word(AESTDAT_RAW,3),     styear1 if_else((styear UNK) | (is.na(styear)), -, styear), ### | or     aestdate str_c(styear1, stmonth, stday, sep -), ### str_c catx     AESTDTC if_else(AESTTIM ! , str_c(aestdate, str_pad(AESTTIM, width 5, pad 0), sep T), aestdate),          AESTDTC if_else(str_sub(AESTDTC, -5) —–, , AESTDTC),     AESTDTC if_else(str_sub(AESTDTC, -4) —-, str_sub(AESTDTC,end-5), AESTDTC),     AESTDTC if_else(str_sub(AESTDTC, -2) –, str_sub(AESTDTC,end-3), AESTDTC)   ) %%   # create AEENDTC   mutate(     endayn suppressWarnings(as.numeric(word(AEENDAT_RAW,1))), ### as.numericinput, wordscan     enday if_else(!is.na(endayn), str_pad(endayn, width 2, pad 0), -), ### is.nanot missing, !not, str_padput xx.     enmonthc str_to_upper(word(AEENDAT_RAW, 2)), ### str_to_upperuppercase     enmonth case_when(       enmonthc JAN ~ 01,       enmonthc FEB ~ 02,       enmonthc MAR ~ 03,       enmonthc APR ~ 04,       enmonthc MAY ~ 05,       enmonthc JUN ~ 06,       enmonthc JUL ~ 07,       enmonthc AUG ~ 08,       enmonthc SEP ~ 09,       enmonthc OCT ~ 10,       enmonthc NOV ~ 11,       enmonthc DEC ~ 12,       TRUE ~ -     ),     enyear word(AEENDAT_RAW,3),     enyear1 if_else((enyear UNK) | (is.na(enyear)), -, enyear), ### | or     aeendate str_c(enyear1, enmonth, enday, sep -), ### str_c catx     AEENDTC if_else(AEENTIM ! , str_c(aeendate, str_pad(AEENTIM, width 5, pad 0), sep T), aeendate),          AEENDTC if_else(str_sub(AEENDTC, -5) —–, , AEENDTC),     AEENDTC if_else(str_sub(AEENDTC, -4) —-, str_sub(AEENDTC,end-5), AEENDTC),     AEENDTC if_else(str_sub(AEENDTC, -2) –, str_sub(AEENDTC,end-3), AEENDTC)   ) # Create AE domain vars ae2 - ae1 %%   cbind(     STUDYIDc(PROTOCOLID),      DOMAINc(AE),      USUBJIDstr_c(c(PROTOCOLID-0),substr(ae1\(SUBJECT,4,6),c(-00),substr(ae1\)SUBJECT,7,9)), # str_c() is catx() in SAS     SUBJIDae1\(SUBJECT,     AESPIDstr_c(c(AE_001-),ae1\)RECORDPOSITION),     AELLTae1\(LLT_NAME,     AELLTCDae1\)LLT_CODE,     AEDECODae1\(PT_NAME,     AEPTCDae1\)PT_CODE,     AEHLTae1\(HLT_NAME,     AEHLTCDae1\)HLT_CODE,     AEHLGTae1\(HGT_NAME,     AEHLGTCDae1\)HGT_CODE,     AEBODSYSae1\(SOC_NAME,     AEBDSYCDae1\)SOC_CODE,     AESOCae1\(SOC_NAME,     AESOCCDae1\)SOC_CODE,     AESEVae1\(AESEV_STD,     AESERae1\)AESER_STD,     AEACNae1\(AEACN_STD,     AERELae1\)AEREL_STD,     AERELNSTae1\(AEREL_WD_STD,     AEPATTae1\)AEPATT_STD,     AEOUTae1\(AEOUT_STD,     AESCONGae1\)AESCONG_STD,     AESDISABae1\(AESDISAB_STD,     AESDTHae1\)AESDTH_STD,     AESHOSPae1\(AESHOSP_STD,     AESLIFEae1\)AESLIFE_STD,     AESMIEae1$AESMIE_STD   )  

    Merge AE and SDTM.DM by USUBJID, create AESTDY/AEENDY sdtm_dm - select(sdtm_dm,USUBJID,RFSTDTC,RFENDTC)

    ae3 - merge (ae2, sdtm_dm, by c(USUBJID), all.x T) %%   mutate(     aestdtas.Date(AESTDTC),     rfstdtas.Date(RFSTDTC),     rfstdatestr_sub(RFSTDTC,1,10),     rfst_yearstr_sub(RFSTDTC,1,4),     rfst_monthstr_sub(RFSTDTC,6,7),     rfst_daystr_sub(RFSTDTC,9,10),     AESTDYifelse(!is.na(aestdt) !is.na(rfstdt),               ifelse((aestdtrfstdt),aestdt-rfstdt1,aestdt-rfstdt),                   )   ) %%   mutate(     aeendtas.Date(AEENDTC),     rfstdtas.Date(RFSTDTC),     AEENDYifelse(!is.na(aeendt) !is.na(rfstdt),                   ifelse((aeendtrfstdt),aeendt-rfstdt1,aeendt-rfstdt),             )   ) %%   # create AEENRTPT, AEENTPT   mutate(     AEENRTPTifelse(AEONGO1,ONGOING,),     AEENTPTifelse(AEONGO1,                    ifelse(is.na(rfstdt)T,SCREENING,END OF STUDY),                   )   )

    prepare SE dataset for creating EPOCH sdtm_se - select(sdtm_se,USUBJID,ETCD,SESTDTC,SEENDTC)

    sest - sdtm_se %%   select(USUBJID,ETCD,SESTDTC) %%   pivot_wider(names_fromETCD, values_fromSESTDTC) colnames(sest) - c(USUBJID,st1,st2,st3) seen - sdtm_se %%   select(USUBJID,ETCD,SEENDTC) %%   pivot_wider(names_fromETCD, values_fromSEENDTC) colnames(seen) - c(USUBJID,en1,en2,en3) sesten - merge (sest, seen, by c(USUBJID)) ae4 - merge (ae3, sesten, by c(USUBJID), all.x T) ae5 - ae4 %%   mutate(EPOCHNA) %%   mutate(     EPOCHifelse((st1aestdt aestdten1) | (aestdten1 is.na(st2)T), SCREENING,ifelse(st2aestdt aestdten2, TREATMENT, FOLLOW-UP))   ) %%   #mutate(   #  EPOCHifelse(!is.na(EPOCH)T !is.na(stday)T, EPOCH, ifelse())   #) %%   arrange(STUDYID,USUBJID,AEDECOD,AESTDTC,AEENDTC,AESPID) %%   group_by(USUBJID) %%   mutate(AESEQrow_number())

    select target vars in AE sdtm_ae - select(ae5,STUDYID,DOMAIN,USUBJID,SUBJID,AESEQ,AESPID,             AETERM,AELLT,AELLTCD,AEDECOD,AEPTCD,AEHLT,AEHLTCD,AEHLGT,AEHLGTCD,AEBODSYS,AEBDSYCD,AESOC,AESOCCD,             AESEV,AESER,AEACN,AEREL,AERELNST,AEPATT,AEOUT,AESCONG,AESDISAB,AESDTH,AESHOSP,AESLIFE,AESMIE,             EPOCH,AESTDTC,AEENDTC,AESTDY,AEENDY,AEENRTPT,AEENTPT)

    convert following vars to numeric per CDSIC definition sdtm_ae\(AELLTCD - as.numeric(sdtm_ae\)AELLTCD) sdtm_ae\(AEPTCD - as.numeric(sdtm_ae\)AEPTCD) sdtm_ae\(AEHLTCD - as.numeric(sdtm_ae\)AEHLTCD) sdtm_ae\(AEHLGTCD - as.numeric(sdtm_ae\)AEHLGTCD) sdtm_ae\(AEBDSYCD - as.numeric(sdtm_ae\)AEBDSYCD) sdtm_ae\(AESOCCD - as.numeric(sdtm_ae\)AESOCCD) sdtm_ae\(AESTDY - as.numeric(sdtm_ae\)AESTDY) sdtm_ae\(AEENDY - as.numeric(sdtm_ae\)AEENDY)

    convert NA to null sdtm_ae\(AESTDY[is.na(sdtm_ae\)AESTDY)] - sdtm_ae\(AEENDY[is.na(sdtm_ae\)AEENDY)] -

    add label label(sdtm_ae) - Adverse Events label(sdtm_ae\(STUDYID)   - Study Identifier                        label(sdtm_ae\)DOMAIN)    - Domain Abbreviation                     label(sdtm_ae\(USUBJID)   - Unique Subject Identifier               label(sdtm_ae\)SUBJID)    - Subject Identifier for the Study        label(sdtm_ae\(AESEQ)     - Sequence Number                       label(sdtm_ae\)AESPID)    - Sponsor-Defined Identifier              label(sdtm_ae\(AETERM)    - Reported Term for the Adverse Event     label(sdtm_ae\)AELLT)     - Lowest Level Term                       label(sdtm_ae\(AELLTCD)   - Lowest Level Term Code                  label(sdtm_ae\)AEDECOD)   - Dictionary-Derived Term                 label(sdtm_ae\(AEPTCD)    - Preferred Term Code                     label(sdtm_ae\)AEHLT)     - High Level Term                         label(sdtm_ae\(AEHLTCD)   - High Level Term Code                    label(sdtm_ae\)AEHLGT)    - High Level Group Term                   label(sdtm_ae\(AEHLGTCD)  - High Level Group Term Code              label(sdtm_ae\)AEBODSYS)  - Body System or Organ Class              label(sdtm_ae\(AEBDSYCD)  - Body System or Organ Class Code         label(sdtm_ae\)AESOC)     - Primary System Organ Class              label(sdtm_ae\(AESOCCD)   - Primary System Organ Class Code         label(sdtm_ae\)AESEV)     - Severity/Intensity                      label(sdtm_ae\(AESER)     - Serious Event                           label(sdtm_ae\)AEACN)     - Action Taken with Study Treatment       label(sdtm_ae\(AEREL)     - Causality                               label(sdtm_ae\)AERELNST)  - Relationship to Non-Study Treatment     label(sdtm_ae\(AEPATT)    - Pattern of Adverse Event                label(sdtm_ae\)AEOUT)     - Outcome of Adverse Event                label(sdtm_ae\(AESCONG)   - Congenital Anomaly or Birth Defect      label(sdtm_ae\)AESDISAB)  - Persist or Signif Disability/Incapacity label(sdtm_ae\(AESDTH)    - Results in Death                        label(sdtm_ae\)AESHOSP)   - Requires or Prolongs Hospitalization    label(sdtm_ae\(AESLIFE)   - Is Life Threatening                     label(sdtm_ae\)AESMIE)    - Other Medically Important Serious Event label(sdtm_ae\(EPOCH)     - Epoch                                  label(sdtm_ae\)AESTDTC)   - Start Date/Time of Adverse Event        label(sdtm_ae\(AEENDTC)   - End Date/Time of Adverse Event          label(sdtm_ae\)AESTDY)    - Study Day of Start of Adverse Event     label(sdtm_ae\(AEENDY)    - Study Day of End of Adverse Event       label(sdtm_ae\)AEENRTPT)  - End Relative to Reference Time Point    label(sdtm_ae$AEENTPT)   - End Reference Time Point                #export to xpt   write.xport(sdtm_ae, fileC://R_software/ae_R.xpt) # export to CSV write.csv(sdtm_ae, fileC://R_software/ae.csv)