n <- floor(runif(1000)*10)
t <- table(n)
barplot(t)

Overview

The first line generates a list of random numbers.
The table function counts the number of occurences for each generated number. barplot creates a bar chart based on the table data.

Getting the random numbers

runif will generate 1000 uniformly distributed numbers between 0 and 1. Because we multiply by 10 we get numbers between 0 and 10.

runif(1000)*10
[1] 7.346433511 5.560346758 0.762020829 2.611504081 6.582468385 9.571311316
[...]
[997] 8.736503848 6.504455155 5.203101230 9.900331229

The floor function removes the digits after the decimal point, so we only get natural numbers between 0 and 9.

floor(runif(1000)*10)
[1] 4 4 7 5 6 4 7 6 3 3 4 5 6 3 3 8 0 3 8 4 7 0 3 9 7 4 9 7 1 2 5 6 5 3 1 5 3
[...]
[963] 7 3 9 9 9 3 1 1 6 3 3 3 9 4 5 1 5 9 2 8 3 6 2 3 4 0 8 7 5 2 9 0 0 0 1 3 4
[1000] 3

Counting value occurrences with table

table(n)
n
  0   1   2   3   4   5   6   7   8   9 
 98  98  99 102 111 105  88 103 101  95 

Plotting the data with barplot

Once you have a table using barplot is really straightforward. Use the documentation if you want to specify the plot size or add axis labels.

barplot(table(floor(runif(200)*4)), xlab="Generated Numbers", ylab="Occurrences", border="red")