Forum

Nome Utente:
Password:
Riconoscimi automaticamente
 Tutti i Forum
 Varie
 Off-topics
 ......vettori e matrici
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi Aggiungi ai Preferiti Aggiungi ai Preferiti
Cerca nelle discussioni
I seguenti utenti stanno leggendo questo Forum Qui c'è:

Aggiungi Tag Aggiungi i tag

Quanto è utile/interessante questa discussione:

Autore Discussione  

fenix01
Nuovo Arrivato



10 Messaggi

Inserito il - 24 aprile 2008 : 20:35:02  Mostra Profilo  Visita l'Homepage di fenix01 Invia a fenix01 un Messaggio Privato  Rispondi Quotando
ciao,

ho una rilevazione di 28814 numeri estratti da una roulette (tra 0 e 36) in formato excel, li ho portati in R con il comando read.table e attraverso la creazione di una dataframe ho creato una matrice di due colonne e 28813 righe in quanto nella prima colonna ho tolto l'ultimo numero estratto e nelle seconda il primo per fare un test di coerenza interna, di questa matrice devo fare un grafico a dispersione come devo fare?

grazie

chick80
Moderatore

DNA

Città: Edinburgh


11491 Messaggi

Inserito il - 24 aprile 2008 : 23:16:51  Mostra Profilo  Visita l'Homepage di chick80 Invia a chick80 un Messaggio Privato  Rispondi Quotando
Semplicemente con plot(m); (dove m è la variabile che hai ottenuto da data.frame)


Sei un nuovo arrivato?
Leggi il regolamento del forum e presentati qui

My photo portfolio (now on G+!)
Torna all'inizio della Pagina

fenix01
Nuovo Arrivato



10 Messaggi

Inserito il - 25 aprile 2008 : 23:27:18  Mostra Profilo  Visita l'Homepage di fenix01 Invia a fenix01 un Messaggio Privato  Rispondi Quotando
ciao,
avevo provato con il comando plot però mi risulata un grafico in cui i punti sono perfettamente distanziati e allineati e mi sembrava impossibile come risulato per un'estrazione di roulette e quindi casuale..

allora ho provato a prendere il vettore colonna delle estrazioni e con il comando cbind(a[-28814],a[-1]) riordinarli in due colonne
e poi fare il plot e mi da questo errore:

Errore in plot.window(...) : i valori 'xlim' devono essere finiti
Inoltre: Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf
3: In min(x) : no non-missing arguments to min; returning Inf
4: In max(x) : no non-missing arguments to max; returning -Inf

non capisco cosa sbaglio
ciao e grazie per la risposta...perchè ormai sto facendo un buco profondo nel muro a forza di sbattere la testa
Torna all'inizio della Pagina

dallolio_gm
Moderatore


Prov.: Bo!
Città: Barcelona/Bologna


2445 Messaggi

Inserito il - 26 aprile 2008 : 00:53:22  Mostra Profilo  Visita l'Homepage di dallolio_gm  Clicca per vedere l'indirizzo MSN di dallolio_gm Invia a dallolio_gm un Messaggio Privato  Rispondi Quotando
Forse puoi provare il comando 'hist(m)'.
Dipende da come organizzati i dati sul foglio di calcolo.

Il mio blog di bioinformatics (inglese): BioinfoBlog
Sono un po' lento a rispondere, posso tardare anche qualche giorno... ma abbiate fede! :-)
Torna all'inizio della Pagina

fenix01
Nuovo Arrivato



10 Messaggi

Inserito il - 26 aprile 2008 : 23:00:24  Mostra Profilo  Visita l'Homepage di fenix01 Invia a fenix01 un Messaggio Privato  Rispondi Quotando

neanche hist(m) mi dice che deve essere numerico.....anche se non capisco come non può non esserlo visto che sto analizzando solo caratteri quantitativi..cioè numeri
Torna all'inizio della Pagina

chick80
Moderatore

DNA

Città: Edinburgh


11491 Messaggi

Inserito il - 26 aprile 2008 : 23:35:59  Mostra Profilo  Visita l'Homepage di chick80 Invia a chick80 un Messaggio Privato  Rispondi Quotando
Beh, in realtà il grafico che ottieni è corretto.

Considera questi due esempi

1) estraggo 100 numeri da 0 a 36

> a = sample(0:36, 100, replace=1)
> a
[1] 21 17 33 4 12 1 16 0 10 20 12 0 12 20 1 21 21 22 34 11 6 27 12 21 32
[26] 2 22 17 32 24 19 8 23 7 14 21 21 15 24 1 1 21 26 35 0 25 10 34 14 5
[51] 19 14 33 10 8 18 15 1 11 18 10 11 26 6 12 10 18 5 7 31 0 19 12 23 4
[76] 35 22 14 5 5 31 12 34 7 31 13 5 21 30 36 6 23 21 4 24 11 31 17 22 0

> plot(a[1:99], a[2:100])

e ottengo questo grafico:



Se però faccio

> b = sample(0:36, 28814, replace=1)
> plot(b[1:28813], b[2:28814]);

Mi dà lo stesso "errore" che vedi tu...



Che però non è un errore, è semplicemente che per la legge dei grandi numeri sei praticamente sicura di avere tutte le coppie di valori tra 1 e 36 (tutte le coppie possibili sono 1296, e tu hai 28000 estrazioni).

Ha senso? Oppure tu vuoi avere un grafico differente?

Sei un nuovo arrivato?
Leggi il regolamento del forum e presentati qui

My photo portfolio (now on G+!)
Torna all'inizio della Pagina

fenix01
Nuovo Arrivato



10 Messaggi

Inserito il - 27 aprile 2008 : 13:23:07  Mostra Profilo  Visita l'Homepage di fenix01 Invia a fenix01 un Messaggio Privato  Rispondi Quotando

allora il mio professore mi ha dato una serie di analisi da fare e mi ha anticipato il risultato di alcune di esse dicendomi che dovrebbe venire un grafico a dispersione come il tuo primo allegato...per verificare i comandi avevo provato a fare questa verifica

campione di 200 numeri casuali estratti da una distribuzione X^2 a 2 gradi di libertà

H<-rchisq(200,2)
str(H)
H[2]
cbind(H[-200],H[-1])
plot(H)
boxplot(H)

in cui i punti sono dispersi. Lavorandoci mi è risultato il secondo grafico che mi hai allegato. Credevo di aver sbagliato tutto e allo stesso tempo "temevo " con tale risultato (magari dovuto ad una mia lacuna ) di presentarmi dal professore...cosa che dovrò fare martedì.

Torna all'inizio della Pagina

dallolio_gm
Moderatore


Prov.: Bo!
Città: Barcelona/Bologna


2445 Messaggi

Inserito il - 27 aprile 2008 : 14:25:39  Mostra Profilo  Visita l'Homepage di dallolio_gm  Clicca per vedere l'indirizzo MSN di dallolio_gm Invia a dallolio_gm un Messaggio Privato  Rispondi Quotando
Citazione:

neanche hist(m) mi dice che deve essere numerico.....anche se non capisco come non può non esserlo visto che sto analizzando solo caratteri quantitativi..cioè numeri
Torna all'inizio della Pagina
Forse fai prima a spiegare bene come hai organizzato questi dati.
Hai due colonne: cosa rappresentano? Cosa hai nella prima colonna? E nella seconda?
Puoi copiare un esempio?

Da come ti ha risposto chick, sembra che siano coppie di numeri estratti, che vuoi plottare in modo da vedere quali coppie sono uscite.
Io invece avevo capito diversamente, che hai il numero di occorrenze per l'estrazione di ogni numero e vuoi un grafico in cui vuoi mettere sull'asse x i numeri da 1 a 36, e sull'asse y il numero di volte in cui sono estratti.
In quest'ultimo caso sarebbe abbastanza normale ottenere un grafico piuttosto lineare, perché hai un numero molto elevato di estrazioni e la probabilità di ogni numero é la stessa.


Il mio blog di bioinformatics (inglese): BioinfoBlog
Sono un po' lento a rispondere, posso tardare anche qualche giorno... ma abbiate fede! :-)
Torna all'inizio della Pagina

fenix01
Nuovo Arrivato



10 Messaggi

Inserito il - 27 aprile 2008 : 15:45:06  Mostra Profilo  Visita l'Homepage di fenix01 Invia a fenix01 un Messaggio Privato  Rispondi Quotando
ok...provo a spiegarmi meglio...da economista aspirante matematico/statista probabilmente vi ho fatto confusione
ho un vettore colonna di 28814 righe..ad ogni riga corrisponde un numero etratto (tra 0 e 36) da una roulette per un periodo di tre mesi.

il mio scopo(per ora) è fare nanalisi di casualità....
per fare ciò il prof mi ha detto di organizzare in questo modo il vettore
ES: estrazione: 12,0,36,7,0,8
0 12
36 0
7 36
0 7
8 0

e questo lo devo plottare (come ho scritto il prof mi aveva detto che doveva venire un grafico a dispersione mentre a me viene un grafico in cui i punti sono perfettaemnte distanziati)

per quanto riguarda quello che avevi capito, ho calcolato le frequenze e le frequenze cumulate per i numeri da 0 a 36 e ho fatto il plot che conferma ciò che mi aspettavo cioè la casualità dell'estrazione
Torna all'inizio della Pagina

chick80
Moderatore

DNA

Città: Edinburgh


11491 Messaggi

Inserito il - 28 aprile 2008 : 02:51:34  Mostra Profilo  Visita l'Homepage di chick80 Invia a chick80 un Messaggio Privato  Rispondi Quotando
Allora è come dicevo io!

Questo comando fa esattamente quello che dici tu!
Fa un grafico delle estrazioni da 1 a 99 contro quelle da 2 a 100
plot(a[1:99], a[2:100])

Se provi a fare lo stesso grafico con 10, 100, 500, 1000 e 10000 estrazioni vedrai che con poche estrazioni sarà un grafico a dispersione, con molte estrazioni sarà regolare, perchè avrai tutte le possibili coppie di numeri.
Quello che puoi voler fare è avere un grafico 3D che mostra il numero di casi in cui ciascun numero sia estratto dopo un altro numero. Ad es. se per x=10 e y=15 hai z=6 vuol dire che 6 volte il 15 è venuto dopo il 10.
In teoria, se tutto è casuale dovrebbe venirti un grafico piuttosto piatto.

Sei un nuovo arrivato?
Leggi il regolamento del forum e presentati qui

My photo portfolio (now on G+!)
Torna all'inizio della Pagina

fenix01
Nuovo Arrivato



10 Messaggi

Inserito il - 28 aprile 2008 : 14:22:03  Mostra Profilo  Visita l'Homepage di fenix01 Invia a fenix01 un Messaggio Privato  Rispondi Quotando
grazie mille!!!!
Torna all'inizio della Pagina
  Discussione  

Quanto è utile/interessante questa discussione:

 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi Aggiungi ai Preferiti Aggiungi ai Preferiti
Cerca nelle discussioni
Vai a:
MolecularLab.it © 2003-18 MolecularLab.it Torna all'inizio della Pagina