Ho usato SAS
per 15 anni e ho iniziato a usarlo R
seriamente negli ultimi 6 mesi, con alcuni armeggi in giro per un paio d'anni prima di quello. Dal punto di vista della programmazione, R
effettua direttamente manipolazioni dei dati, non esistono equivalenti DATA
o PROC SQL
procedure perché non sono necessarie (quest'ultima è più efficiente SAS
quando vi è molta manipolazione dei dati da fonti di dati esterne, ad esempio dati amministrativi). Ciò significa che, ora sto imparando, la manipolazione dei dati è più veloce R
e richiede molto meno codice.
Il problema principale che ho riscontrato è la memoria. Non tutti i pacchetti R consentono le WEIGHT
specifiche del tipo, quindi se si hanno SAS
set di dati con variabili utilizzate FREQ
o REPLICATE
istruzioni, è possibile che si verifichino problemi. Ho esaminato i pacchetti ff
e bigmemory
in R ma questi non sembrano compatibili con tutti i pacchetti R, quindi se si dispone di set di dati molto grandi che richiedono analisi relativamente non comuni e sono stati aggregati, è possibile che si verifichino problemi di memoria.
Per l'automazione, se lo SAS macros
hai, dovresti essere in grado di programmare l'equivalente R
ed eseguirlo come batch.
Per la codifica R
, stavo usando Notepad++
e impostando la lingua su R
, e ora sto scoprendo le gioie di R Studio
. Entrambi questi prodotti sono gratuiti e il linguaggio è marcato come la SAS
GUI di sintassi migliorata (ho usato solo la schermata di sintassi in SAS
).
C'è un sito Web e un libro correlato per le persone che scambiano da SAS
a R
. Li ho trovati utili per cercare di capire come tradurre alcuni SAS
comandi in R
.
Aggiornamento: una cosa che mi ha spinto noci quando venire a R
è che R
non si assume tutto è un insieme di dati ( data frame
in R
gergo), perché non è un pacchetto statistico nel modo in cui SAS
, SPSS
, Stata
, ecc sono. Quindi, ad esempio, mi ci è voluto un po 'perché le if
dichiarazioni funzionassero perché continuavo a ricevere aiuto per le if
dichiarazioni con i vettori (o forse le matrici) mentre avevo bisogno di una if
dichiarazione con cui funzionasse data frames
. Quindi le pagine di aiuto probabilmente devono essere lette più da vicino di quanto faresti normalmente, perché dovrai controllare che il comando che vuoi fare operi con il tipo di oggetto dati che hai.
La cosa che mi fa ancora impazzire quando apprendo un nuovo R
comando (ad es. Metodo di analisi in un pacchetto contribuito) è che l'aiuto per i comandi spesso non è del tutto autonomo. Andrò alla pagina di aiuto per provare ad apprendere il comando e le note di utilizzo spesso sono state ...
contenute in esse. A volte cercare di capire cosa può o dovrebbe andare dove ...
è mi ha portato in un ciclo ricorsivo. La relativa brevità delle note di aiuto, dalle SAS
quali fornisce esempi dettagliati di sintassi ed esempi funzionanti con una spiegazione dello studio nell'esempio, è stata piuttosto scioccante.