# I primi 20 interi positivi collocati casualmente sample(1:12) # 7 2 9 12 10 4 6 5 1 8 3 11 # # Esempio: generazione di un mazzo di carte S <- c("C","Q","F","P"); C <- sample(1:40) for(i in 1:40) print( c( 1+C[i]%%10, S[(floor((C[i]-1)/10)+1)] ),quote=FALSE ) # 5 P 8 Q 1 P 1 Q 3 C 8 P 2 P 9 F 4 C 7 Q # 2 F 1 F 9 Q 7 C 4 Q 5 F 9 P 6 P 8 C 7 F # 3 Q 6 F 10 P 6 Q 4 P 1 C 10 C 7 P 8 F 2 Q # 9 C 4 F 5 C 3 P 3 F 2 C 6 C 10 Q 10 F 5 Q # # # Alternativa # Un sottoprogramma che genera casualmente i primi n interi positivi genera <- function(n) { # Idea: genero un elenco x di n numeri "reali" tra 0 ed 1 casuali; # chiamo z[1] il più piccolo, z[2] il 2º, , z[n] il massimo x <- runif(n); z <- sort(x) # Poi sostituisco nell'elenco x ogni numero col suo numero d'ordine, # ossia cerco il posto che aveva in x ogni numero in z y <- NULL; for(i in 1:n) for(j in 1:n) if(z[i]==x[j]) y[i] <- j; y } # # Esempio: generazione casuale dei primi 12 numeri interi positivi genera(12) # 11 2 4 5 7 12 6 3 1 9 8 10 # # Esempio: generazione di un mazzo di carte S <- c("C","Q","F","P"); C <- genera(40) for(i in 1:40) print( c( 1+C[i]%%10, S[(floor((C[i]-1)/10)+1)] ),quote=FALSE )