La questione non è così stupido come alcune persone pensano che sia. Conosco molte persone che lottano con questa differenza e che cosa usare dove. Riassumendo:
Le liste sono di gran lunga la struttura dati più flessibile in R. Possono essere viste come una raccolta di elementi senza alcuna restrizione sulla classe, lunghezza o struttura di ciascun elemento. L'unica cosa di cui hai bisogno è di non dare due elementi con lo stesso nome. Questo potrebbe causare un sacco di confusione, e R non dà errori per questo:
> X <- list(a=1,b=2,a=3)
> X$a
[1] 1
cornici dati sono liste pure, ma hanno alcune limitazioni:
- non è possibile utilizzare lo stesso nome per due diverse variabili
- tutti gli elementi di un frame di dati sono vettori
- tutti gli elementi di un frame di dati hanno una lunghezza uguale.
causa di queste limitazioni e la risultante struttura bidimensionale, frame di dati può mimare alcuni del comportamento di matrici. È possibile selezionare le righe ed eseguire operazioni su righe. Non puoi farlo con le liste, perché una fila non è definita lì.
Tutto ciò implica che è necessario utilizzare un frame di dati per qualsiasi set di dati che si adatti a tale struttura bidimensionale. In sostanza, si utilizzano i frame di dati per qualsiasi set di dati in cui una colonna coincide con una variabile e una riga coincide con una singola osservazione nel senso ampio della parola. Per tutte le altre strutture, le liste sono la strada da percorrere.
Si noti che se si desidera una struttura nidificata, è necessario utilizzare gli elenchi. Poiché gli elementi di una lista possono essere elenchi, è possibile creare oggetti strutturati molto flessibili.
fonte
2013-04-09 13:14:57
Penso che questi possono aiutare voi .. http://www.r-tutor.com/r- introduzione/data-frame e http://www.r-tutor.com/r-introduction/list – Futuregeek
Era davvero quella brutta domanda? Sono un newbee in R e provengono da java e C#, questo linguaggio di scripting sembrava difficile ... :( – ShazSimple
@ShazSimple La domanda in sé non è poi così male, è fin troppo generica Se vuoi una soluzione al tuo problema specifico , dovrai presentarci un esempio riproducibile minimo, come spiegato [qui] (http: // StackOverflow.com/domande/5963269/how-to-make-a-great-r-riproducibile-esempio). Per questo, ti preghiamo di fare una nuova domanda. Possiamo lasciare questo qui come riferimento. –