Se non ti dispiace scrivere un piccolo script per fare ciò di cui hai bisogno, ti consiglio di farlo in R , il sistema di statistiche open source.
Ad esempio, considera questo one-liner per ottenere un elenco di 100 numeri distribuiti gaussiani:
$ Rscript -e 'write(rnorm(100) * 100 + 100, "", 1)'
234.2903
-25.53289
168.0262
-28.49810
105.0687
85.97355
269.5072
...
Analizziamo questo.
Il Rcomando standard ti porta in un ambiente di programmazione interattivo, il che va bene se stai cercando di capire come fare qualcosa a mano o stai costruendo qualcosa in modo incrementale, ma dalla tua domanda, sembra che tu abbia solo bisogno di un elenco di numeri per inviare a un altro programma. Quindi, invece, usiamo Rscript, che si comporta più come un tradizionale interprete di script Unix: puoi passargli il nome di un file contenente uno script R, oppure usare il -eflag standard per passare l'intero testo del programma sulla riga di comando.
rnorm()è la funzione R per ottenere un elenco di numeri casuali con la distribuzione "normale" o gaussiana. Ci vogliono fino a tre parametri, solo il primo dei quali è richiesto, quanti numeri vuoi. Abbiamo chiesto 100. Prendendo i valori predefiniti per gli altri due parametri opzionali, otteniamo una media di 0 e una deviazione standard di 1.
L'aritmetica successiva mostra solo una caratteristica interessante del linguaggio R: puoi fare l'aritmetica su intere tabelle di dati, matrici, ecc., Con la stessa facilità con cui un valore scalare in un linguaggio più tipico. Ho moltiplicato tutti i valori generati per 100 e ne ho aggiunti 100, solo perché posso. Poiché R è un linguaggio di programmazione completo, non c'è limite alle cose che potresti fare con questo elenco di numeri. Questo è il vantaggio di usare un tale sistema invece di un comando a scopo fisso come jot.
Passiamo il risultato di quella precedente operazione alla write()funzione, che scrive i dati in un file per impostazione predefinita, ma abbiamo ignorato che passando una stringa vuota per il secondo parametro, il nome del file, quindi scrive la tabella in invece il terminale. Il prossimo parametro, 1dice solo che vogliamo il nostro output in formato a colonna singola.
R ha molte altre funzioni casuali di generazione di numeri integrate nel sistema di base. Ad esempio, possiamo imitare il jotcomando nella risposta di lcpriani con questo script:
$ Rscript -e 'write(round(runif(10, 12, 27)), "", 1)'
Qui stiamo usando runif()per ottenere 10 numeri casuali distribuiti uniformemente da 12 a 27. Come rnorm(), che abbiamo usato sopra, questa funzione restituisce valori in virgola mobile, quindi dobbiamo avere i round()loro valori interi più vicini prima di scriverli sullo schermo.
R ha anche un ricco set di componenti aggiuntivi in CRAN , un repository di pacchetti modellato sul CPAN di Perl. Uno che potrebbe interessarti è semplicemente chiamato random , che funge da interfaccia per random.org , un servizio che restituisce veri numeri casuali generati dal rumore atmosferico.
R è un ambiente di programmazione completo, quindi potrebbe non essere necessario estrarre i numeri da R in formato testo. Potresti riuscire a risolvere il tuo problema interamente in R. Provalo.