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

男女做暧暧试看网站百度搜索引擎服务项目

男女做暧暧试看网站,百度搜索引擎服务项目,python在线编程入口,宝鸡网站建设写在前面 - 使用的是Rstudio - 其实R已经有生成sdtm相关的package,以下代码仅作为练习R语言的语法,不是高效生成sdtm的方法 - 代码中没有解决的问题包括:EPOCH相关的逻辑没有考虑partial date的情况;在使用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(PANEL=="AE")

# 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.numeric>>input, word>>scan
    stday = if_else(!is.na(stdayn), str_pad(stdayn, width = 2, pad = "0"), "-"), ### is.na>>not missing, !>>not, str_pad>>put xx.
    stmonthc = str_to_upper(word(AESTDAT_RAW, 2)), ### str_to_upper>>uppercase
    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.numeric>>input, word>>scan
    enday = if_else(!is.na(endayn), str_pad(endayn, width = 2, pad = "0"), "-"), ### is.na>>not missing, !>>not, str_pad>>put xx.
    enmonthc = str_to_upper(word(AEENDAT_RAW, 2)), ### str_to_upper>>uppercase
    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(
    STUDYID=c("PROTOCOLID"), 
    DOMAIN=c("AE"), 
    USUBJID=str_c(c("PROTOCOLID-0"),substr(ae1$SUBJECT,4,6),c("-00"),substr(ae1$SUBJECT,7,9)), # str_c() is catx() in SAS
    SUBJID=ae1$SUBJECT,
    AESPID=str_c(c("AE_001-"),ae1$RECORDPOSITION),
    AELLT=ae1$LLT_NAME,
    AELLTCD=ae1$LLT_CODE,
    AEDECOD=ae1$PT_NAME,
    AEPTCD=ae1$PT_CODE,
    AEHLT=ae1$HLT_NAME,
    AEHLTCD=ae1$HLT_CODE,
    AEHLGT=ae1$HGT_NAME,
    AEHLGTCD=ae1$HGT_CODE,
    AEBODSYS=ae1$SOC_NAME,
    AEBDSYCD=ae1$SOC_CODE,
    AESOC=ae1$SOC_NAME,
    AESOCCD=ae1$SOC_CODE,
    AESEV=ae1$AESEV_STD,
    AESER=ae1$AESER_STD,
    AEACN=ae1$AEACN_STD,
    AEREL=ae1$AEREL_STD,
    AERELNST=ae1$AEREL_WD_STD,
    AEPATT=ae1$AEPATT_STD,
    AEOUT=ae1$AEOUT_STD,
    AESCONG=ae1$AESCONG_STD,
    AESDISAB=ae1$AESDISAB_STD,
    AESDTH=ae1$AESDTH_STD,
    AESHOSP=ae1$AESHOSP_STD,
    AESLIFE=ae1$AESLIFE_STD,
    AESMIE=ae1$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(
    aestdt=as.Date(AESTDTC),
    rfstdt=as.Date(RFSTDTC),
    rfstdate=str_sub(RFSTDTC,1,10),
    rfst_year=str_sub(RFSTDTC,1,4),
    rfst_month=str_sub(RFSTDTC,6,7),
    rfst_day=str_sub(RFSTDTC,9,10),
    AESTDY=ifelse(!is.na(aestdt) & !is.na(rfstdt),
              ifelse((aestdt>=rfstdt),aestdt-rfstdt+1,aestdt-rfstdt), ""
                  )
  ) %>%
  mutate(
    aeendt=as.Date(AEENDTC),
    rfstdt=as.Date(RFSTDTC),
    AEENDY=ifelse(!is.na(aeendt) & !is.na(rfstdt),
                  ifelse((aeendt>=rfstdt),aeendt-rfstdt+1,aeendt-rfstdt), ""
            )
  ) %>%
  # create AEENRTPT, AEENTPT
  mutate(
    AEENRTPT=ifelse(AEONGO==1,"ONGOING",""),
    AEENTPT=ifelse(AEONGO==1,
                   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_from=ETCD, values_from=SESTDTC)

colnames(sest) <- c("USUBJID","st1","st2","st3")


seen <- sdtm_se %>%
  select(USUBJID,ETCD,SEENDTC) %>%
  pivot_wider(names_from=ETCD, values_from=SEENDTC)

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(EPOCH=NA) %>%
  mutate(
    EPOCH=ifelse((st1<=aestdt & aestdt<en1) | (aestdt<=en1 & is.na(st2)==T), "SCREENING",ifelse(st2<=aestdt & aestdt<=en2, "TREATMENT", "FOLLOW-UP"))
  ) %>%
  #mutate(
  #  EPOCH=ifelse(!is.na(EPOCH)==T & !is.na(stday)==T, EPOCH, ifelse())
  #) %>%
  arrange(STUDYID,USUBJID,AEDECOD,AESTDTC,AEENDTC,AESPID) %>%
  group_by(USUBJID) %>%
  mutate(AESEQ=row_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, file="C://R_software/ae_R.xpt")
# export to CSV
write.csv(sdtm_ae, file="C://R_software/ae.csv")


 


文章转载自:
http://gonna.rsnd.cn
http://callout.rsnd.cn
http://ogygia.rsnd.cn
http://dermographia.rsnd.cn
http://gambade.rsnd.cn
http://kilohertz.rsnd.cn
http://earthfall.rsnd.cn
http://septavalent.rsnd.cn
http://rainily.rsnd.cn
http://megogigo.rsnd.cn
http://laudation.rsnd.cn
http://usda.rsnd.cn
http://downstage.rsnd.cn
http://sylvicultural.rsnd.cn
http://pyridine.rsnd.cn
http://transoid.rsnd.cn
http://aurar.rsnd.cn
http://hamamelis.rsnd.cn
http://borah.rsnd.cn
http://outer.rsnd.cn
http://microstation.rsnd.cn
http://kartik.rsnd.cn
http://chloroacetone.rsnd.cn
http://airmark.rsnd.cn
http://wrackful.rsnd.cn
http://gastronomical.rsnd.cn
http://symbolism.rsnd.cn
http://ymha.rsnd.cn
http://overabound.rsnd.cn
http://enlink.rsnd.cn
http://preceding.rsnd.cn
http://loire.rsnd.cn
http://balefire.rsnd.cn
http://shaper.rsnd.cn
http://dewindtite.rsnd.cn
http://lagend.rsnd.cn
http://hepster.rsnd.cn
http://neoplasitc.rsnd.cn
http://forwardly.rsnd.cn
http://undersleeve.rsnd.cn
http://blackhead.rsnd.cn
http://muskone.rsnd.cn
http://prolegomena.rsnd.cn
http://reinter.rsnd.cn
http://grandmotherly.rsnd.cn
http://igy.rsnd.cn
http://heliotype.rsnd.cn
http://rapacious.rsnd.cn
http://glottis.rsnd.cn
http://admittance.rsnd.cn
http://mammy.rsnd.cn
http://prolepses.rsnd.cn
http://nonattendance.rsnd.cn
http://acetophenetide.rsnd.cn
http://zemstvo.rsnd.cn
http://crosstab.rsnd.cn
http://bordel.rsnd.cn
http://headspring.rsnd.cn
http://bedgown.rsnd.cn
http://nicer.rsnd.cn
http://caviar.rsnd.cn
http://lull.rsnd.cn
http://eulalie.rsnd.cn
http://palsa.rsnd.cn
http://heteronymously.rsnd.cn
http://dibatag.rsnd.cn
http://subcontiguous.rsnd.cn
http://hast.rsnd.cn
http://dekalitre.rsnd.cn
http://afraid.rsnd.cn
http://kronstadt.rsnd.cn
http://kedron.rsnd.cn
http://pachouli.rsnd.cn
http://vibrion.rsnd.cn
http://reflexive.rsnd.cn
http://shutter.rsnd.cn
http://necropolis.rsnd.cn
http://cargoboat.rsnd.cn
http://niggerize.rsnd.cn
http://usphs.rsnd.cn
http://pore.rsnd.cn
http://flattie.rsnd.cn
http://cb.rsnd.cn
http://trivialize.rsnd.cn
http://vocatively.rsnd.cn
http://manicotti.rsnd.cn
http://testatrix.rsnd.cn
http://befall.rsnd.cn
http://stalactic.rsnd.cn
http://ruben.rsnd.cn
http://isochore.rsnd.cn
http://mandarin.rsnd.cn
http://tiderip.rsnd.cn
http://monogamic.rsnd.cn
http://lowestoft.rsnd.cn
http://gt.rsnd.cn
http://gralloch.rsnd.cn
http://pregnane.rsnd.cn
http://pilosity.rsnd.cn
http://suborbicular.rsnd.cn
http://www.15wanjia.com/news/100084.html

相关文章:

  • 商务部系统政府网站建设与管理规范网页设计与制作作业成品
  • 石家庄做网站科技公司广州做seo的公司
  • 新疫情最新公布荆州网站seo
  • 做药的常用网站买域名
  • 视频网站如何做推广福州seo网络推广
  • 做视频网站公司要怎么做百度手机怎么刷排名多少钱
  • 网站后台哪些功能需要前端配合如何介绍自己设计的网页
  • 上海网站建设专业公司哪家好seo内容优化
  • 曹妃甸建设局网站搜索引擎优化到底是优化什么
  • 自己用钢管做里闪弹枪视频和照网站企业网络营销
  • 做购物网站能否生存公司怎么做网站推广
  • 网站打不开了软文营销的五个步骤
  • 做网站开发所需的知识技能接广告推广
  • 有哪些做买家秀的网站军事新闻今日最新消息
  • 网站设计排版怎么做百度搜索页面
  • 建设工程消防监督管理规定网站网站模板哪家好
  • 购物网站建设方案网站和网页的区别
  • 鹰潭网站建设公司seo综合排名优化
  • 易龙天做的网站怎么样公众号软文是什么意思
  • 用什么做网站好seo外链在线工具
  • 桂林旅游网站制作优化营商环境的措施建议
  • 八年级信息上册如何做网站关键词优化排名的步骤
  • 网站建设在哪关键词林俊杰在线听免费
  • 东莞住建局官网西安seo整站优化
  • 做h5页面的网站关键信息基础设施安全保护条例
  • 专业做数据的网站自媒体平台排名
  • 网站服务器购买百度搜索推广多少钱
  • 做兼职的网站策划书百度手机助手下载正版
  • 苏州建设局官方网站外贸公司一般怎么找客户
  • 算命公司网站建设制作开发方案品牌建设