.SD - list, , ( str).
paste(list(letters[1:3])) #not the desirable output
#[1] "c(\"a\", \"b\", \"c\")"
paste(letters[1:3]) #did not change anything
#[1] "a" "b" "c"
paste sep collapse
paste(letters[1:3], collapse=", ")
OP,
DT[, class.students := paste(name, collapse=", "), by = class]
.SD, , list vector [[, unlist ..
DT[, class.students := paste(unlist(.SD), collapse=", "), by = class]
DT[, class.students := paste(.SD[[1]], collapse=", "), by = class]
str(DT) ,
.SD - , list. .SD , . data.frame, , lapply
DT[, class.students := lapply(.SD, paste, collapse=", "), by = class]
.SDcols, . , .SDcols .
str(DT)
#Classes ‘data.table’ and 'data.frame': 7 obs. of 3 variables:
# $ name : chr "John" "Smith" "Jane" "Ruby" ...
# $ class : num 1 2 3 1 2 3 1
# $ class.students: chr "John, Ruby, Tulip" "Smith, Emerald" "Jane, Jasmine" "John, Ruby, Tulip" ...
# - attr(*, ".internal.selfref")=<externalptr>