import random
def chunked_shuffle(base_list, repeat=4, seed=42):
random.seed(seed)
result = []
for _ in range(repeat):
chunk = base_list.copy()
random.shuffle(chunk)
result.extend(chunk)
return result
base = [1, 2, 3, 4, 5, 6]
shuffled_list = chunked_shuffle(base, repeat=4, seed=20252025)
binary_list = [1 if x <= 3 else 2 for x in shuffled_list]
subject_ids = [f"S{i+1:03}" for i in range(len(shuffled_list))]
sequence_list = ['T-R' if b == 1 else 'R-T' for b in binary_list]
subject_ids = [f"S{i+1:03}" for i in range(len(shuffled_list))]
df = pd.DataFrame({
'Subject_ID': subject_ids,
'Treatment': binary_list,
'Sequence': sequence_list
})
print(df) Subject_ID Treatment Sequence
0 S001 1 T-R
1 S002 2 R-T
2 S003 2 R-T
3 S004 2 R-T
4 S005 1 T-R
5 S006 1 T-R
6 S007 2 R-T
7 S008 1 T-R
8 S009 1 T-R
9 S010 2 R-T
10 S011 2 R-T
11 S012 1 T-R
12 S013 1 T-R
13 S014 2 R-T
14 S015 2 R-T
15 S016 1 T-R
16 S017 2 R-T
17 S018 1 T-R
18 S019 2 R-T
19 S020 1 T-R
20 S021 1 T-R
21 S022 1 T-R
22 S023 2 R-T
23 S024 2 R-T