不知道有没有理解对你的意思
ID <- 1:100
sex <- rep("Male", 100)
sex[sample(1:100, 51)] <- "Female"
ID <- rep(ID, each = 3)
sex <- rep(sex, each = 3)
day <- rep(c(1, 30, 60), times=100)
dose <- rep(50, 300)
dose[ID>50] <- 150
data1 <- data.frame(ID, sex, day, dose)
sparseid <- sample(1:100, 75)
sparsetime1 <- cbind(sparseid, rep(0, 75))
sparsetime2 <- cbind(sparseid, sample(1:3, 75, replace=T))
sparsetime <- rbind(sparsetime1, sparsetime2)
sparsetime <- sparsetime[order(sparsetime[, 1]), ]
richid <- rep(setdiff(1:100, sparseid), each=10)
richtime <- rep(c(0,1,2,3,4,5,6,8,10,24), 25)
richtime <- cbind(richid, richtime)
times <- rbind(sparsetime, richtime)
times <- times[order(times[, 1]), ]
data2 <- data.frame(ID = rep(times[, 1], each=3), time = rep(times[, 2], each=3), day = rep(c(1, 30, 60), times=nrow(times)))
data <- merge(data1, data2, all=T, sort=T)
data <- data[order(data$ID, data$day, data$time), ]