Ho un set di dati che è simile al seguente:rotolamento concatenazione Testo Data.Table in R
rownum<-c(1,2,3,4,5,6,7,8,9,10)
name<-c("jeff","jeff","mary","jeff","jeff","jeff","mary","mary","mary","mary")
text<-c("a","b","c","d","e","f","g","h","i","j")
a<-data.table(rownum,name,text)
vorrei aggiungere una nuova colonna di testo che aggiunge dalla colonna precedente rownum e il nome. Il vettore della nuova colonna sarà:
rolltext<-c("a","ab","c","abd","abde","abdef","cg","cgh","cghi","cghij"
Sono in perdita qui in termini di cosa fare. Per i numeri vorrei solo usare la funzione cumsum, ma per il testo sto pensando che avrei bisogno di un ciclo for o di utilizzare una delle funzioni apply?
Nizza. Forse anche 'a [, rolltext: = sapply (1: .N, function (x) incolla (text [1: x], collapse = '')), per = nome]' –
Grazie, David, l'ho modificato Il lato negativo di ciò potrebbe essere che richiede più incollare ('sum (seq (.N) -1)' vs '.N-1' con' Reduce'). Questa è la mia intuizione/indovina, comunque. – Frank