>

옵션 목록에서 더미 데이터를 만들려고합니다 :

library('stringr')
#Generate a load of strings
line <- list(x1 = 10, x2 = 30,x3="There is no intestinal metaplasia, dysplasia or malignancy",x4="No Helicobacter are seen",x5="There is some ulceration",x6="There is no intercellular oedema in the surface epithelium",x7="PASstaining shows occasional spores, consistent with candida",x8="No herpetic viral inclusions are seen",x9="There is no dysplasia and no invasive carcinoma",x10="There is mild regenerative epithelial change, but neither dysplasia nor malignancy is seen",x11="The appearances are consistent with the endoscopic diagnosis of Barrett's oesophagus with active chronic inflammation",x12="The biopsies of oesophageal squamous mucosa show surface erosion and active chronic inflammation",x13="Numerous Candida spores and hyphae are present admixed with ulcer slough",x14="There is reactive basal cell hyperplasia and mild inflammatory epithelial atypia",x15="There is no significant increase in intraepithelialeosinophils",x16="No granulomas or viral inclusions are seen",x17="The appearances are those of Candida oesophagitis",x18="Neither dysplasia nor malignancy is seen",x19="The appearances are consistent with, but not specific for Barrett's (columnar lined) oesophagus")
listofResults<-unlist(sample(line,2,replace=T))
list.of.samples <- replicate(1000, paste(sample(1:10,1), "specimens collected the largest measuring", sample(1:5,1) ,"x", sample(1:5,1) ,"x", sample(1:5,1), "mm and the smallest", sample(1:5,1) ,"x", sample(1:5,1) ,"x", sample(1:5,1), "mm"), simplify=FALSE)

그런 다음 10 개의 데이터 샘플을 만들고 싶습니다. 내가 실행하면 :

#Merge the strings together randomly
histop<-paste (sample(list.of.samples,1,replace=T),str_c(sample(line,sample(3:10,1),replace=T),collapse='.'))  

그런 다음 무작위로 생성 된 문자열을 잘 얻었으며 예상대로 문자열을 실행할 때마다 변경됩니다. 실행하지만

rep(histop,10)

동일한 결과는 10 번입니다. 그래서 나는 그것을 함수로 대답하려고 노력했다.

histop<-function(){
  paste (sample(list.of.samples,1,replace=T),str_c(sample(line,sample(3:10,1),replace=T),collapse='.'))   
}
rep(histop(),10)

그러나 같은 결과를 얻습니다. 10 개의 다른 줄을 어떻게 구할 수 있습니까?


  • 답변 # 1

    알았습니다. rep 대신 replicate을 사용해야합니다. 이것에 대해 읽어야하지만 replicate는 실제로 라인을 실행하는 반면 rep은 한 번 실행 한 다음 결과를 복사합니다.

    replicate(20,paste (sample(list.of.samples,1,replace=T),str_c(sample(line,sample(3:10,1),replace=T),collapse='.')))  
    
    

관련 자료

  • 이전 codeigniter - 자바 스크립트의 모달 팝업
  • 다음 SQL Server 2008의 ISOWeek 오류