Sono nuovo su R e ho un data.frame, chiamato "CT", contenente una colonna denominata "ID" contenente diverse centinaia di numeri di identificazione diversi (questi sono pazienti). La maggior parte dei numeri appare una volta, ma alcuni altri appaiono due o tre volte (quindi, in file diverse). In CT data.frame, vorrei inserire una nuova variabile, chiamata "countID", che indicherebbe il numero di occorrenze di questi specifici pazienti (più record dovrebbero apparire ancora diverse volte). Ho provato due diverse strategie dopo aver letto questo forum: 1 ° strategia:conteggio delle occorrenze nella colonna e creazione della variabile in R
CT <- cbind(CT, countID=sequence(rle(CT.long$ID)$lengths)
Ma questo non funziona, ottengo solo un conteggio. seconda strategia: creare una cornice di dati con due colonne (una è ID, uno è il conto) e la partita questa dataframe con CT:
tabs <- table(CT.long$ID)
out <- data.frame(item=names(unlist(tabs)),count=unlist(tabs)[],stringsAsFactors=FALSE)
rownames(out) = c()
head(out)
# item count
# 1 1.312 1
# 2 1.313 2
# 3 1.316 1
# 4 1.317 1
# 5 1.321 1
# 6 1.322 1
Quindi questo funziona bene, ma i cant sciogliere i due data.frames: il il numero di file non corrisponde tra "out" e "CT" (l'out ha meno righe ovviamente). Forse qualcuno ha una soluzione elegante per aggiungere direttamente il numero di occorrenze nel file CT di data.frame o correttamente i due data.frames? Grazie in anticipo, Denis
+1 per per mostrare input e l'output previsto, ma la prossima tempo di pubblicazione, fai il tuo esempio [** riproducibile **] (http://stackoverflow.com/q/5963269/1478381) includendo alcuni dati. benvenuti a SO! –