R: วิธีสุ่มตัวอย่างโดยไม่มีการแทนที่และไม่มีค่าเดียวกันติดต่อกัน
ฉันใช้เวลาทั้งวันพยายามทำให้สิ่งที่ดูเหมือนจะเป็นเรื่องง่ายมาก ฉันต้องสร้าง 300 'สุ่ม' วนเวียนซึ่งตัวเลข 1,2,3 และ 4 ทั้งหมดปรากฏ 12 ครั้ง แต่ไม่เคยใช้หมายเลขเดียวกันสองครั้งในแถว '/ ติดต่อกัน ความพยายามที่ดีที่สุดของฉัน (ฉันเดา) คือ: มีตัวอย่าง R 48 รายการโดยไม่มีการเปลี่ยนทดสอบว่ามีค่าต่อเนื่องเป็น rle หรือไม่จากนั้นใช้เฉพาะลำดับที่ไม่มีค่าติดต่อกัน ปัญหา: แทบจะไม่มีการสุ่มลำดับที่ตรงกับเกณฑ์นี้ดังนั้นจึงต้องใช้ตลอดไป มี R สร้างลำดับโดยไม่มีค่าต่อเนื่อง (ดูรหัส) pop<-rep(1:4,12) y=c() while(length(y)!=48) { y= c(y,sample(pop,48-length(y),replace=F)) y=y[!c(FALSE, diff(y) == 0)] } ปัญหา: สิ่งนี้สร้างลำดับที่มีตัวเลขแตกต่างกันของแต่ละค่า จากนั้นฉันพยายามใช้เฉพาะลำดับเหล่านั้นที่มี 12 ค่าแต่ละค่าเท่านั้น แต่นั่นทำให้ฉันกลับมาที่ปัญหา 1: ใช้เวลาตลอดไป ต้องมีวิธีง่าย ๆ …