В наборе данных могут быть дубликаты. Таким образом, по умолчанию было бы fun.aggregate
за length
. Вместо этого мы можем создать столбец последовательности для уникального идентификатора
library(data.table)
dcast(setDT(suppdsT), STUDYID + USUBJID ~ IDVAR + rowid(USUBJID),
value.var = 'IDVARVAL')
# STUDYID USUBJID DSDECOD1_3 DSDECOD2_2 DSSEQ_1 DSSTINV_2
#1: study1 1 SCREEN FAILURE <NA> 3 N
#2: study1 2 <NA> ADVERSE EVENT 1 <NA>
data
suppdsT <- structure(list(STUDYID = c("study1", "study1", "study1", "study1",
"study1"), USUBJID = c(1L, 1L, 1L, 2L, 2L), IDVAR = c("DSSEQ",
"DSSTINV", "DSDECOD1", "DSSEQ", "DSDECOD2"), IDVARVAL = c("3",
"N", "SCREEN FAILURE", "1", "ADVERSE EVENT")), class = "data.frame", row.names = c("1",
"2", "3", "4", "5"))