How do I generate distribution of positive numbers only with min, max and mean? I am trying to generate a sample of 2000 rows. I have the following values
min = 80
max = 12000
mean = 500
I want to generate only positive numbers. I tried using triangular distribution and range rule(sd = max-min/4). The values were negative. 
Is there anyway I can generate only positive numbers?
 A: If you don't care about the distribution aside from min, max, and mean, then there is a simple answer.
Take 96.476510067114100 percent of draws as 80 and 3.523489932885910 percent of draws as 12000. On average, you get 500, and you have your min and max. I calculated the percentages by solving a system of equations 
$$a + b =1$$ $$80a + 12000b = 500$$
The first equation establishes the the values must sum to one, making sure that we are dealing with probabilities. The second equation get us our average of 500.
D <- rep(NA,2000) # define a vector of NAs to hold your sampled values
for (i in 1:2000){
    X <- rbinom(1,1,0.96476510067114100) # determine which value you'll take, 80 or 12000
    if (X==0){D[i] <- 12000} # declare observation i as 12000
    if (X==1){D[i] <- 80} # declare observation i as 80
}

A: Use for example a beta distribution, shifted and rescaled to your min and max.
The beta is easy to use here since it is bounded to the interval [0;1], but the mean can be placed by parameterization.
You have mean=alpha/(alpha+beta) and hence beta=alpha/mean - alpha, or in the rescaled version beta=alpha*(max-min)/(mean-min) - alpha. With the parameter alpha you can control the shape, whether you want more values in the extremes or not.
You can also consider a truncated normal distribution. This works quite similar. Again you have to decide for a shape by choosing the standard deviation. This is straight forward to use - fix min, max, mean, and sigma. Compute the resulting mu and you have your data distribution. But the shape of this distribution will look truncated, and not as elegant as a beta distribution.
Beta distributions are smooth. If you want something simpler consider simply using two uniform distributions. Without loss of generality, assume min=0 and max=1 by rescaling and shifting.
Split the interval at the (rescaled) mean. Sampling uniformly from [0;mean] with probability p has E[X]=mean/2 and from [mean;1] with 1-p has E[X]=(mean+1)/2. Combining these two  and the desired outcome yields p*mean/2+(1-p)(mean+1)/2= mean and solving for p Yields p=1-mean.
Hence a simple strategy is to uniformly sample from [min;mean] with probability 1-(mean-min)/(max-min) and from [mean;max] otherwise. The drawback is the non-smooth (stepwise) CDF.
Ultimately, you could also design the CDF directly. This would be easy if you had fixed the median, but with the mean you'll need to take the values into account. The idea is that you might want to enforce a stepwise linear or polynomial CDF, and choose the function parameters such that the resulting mean is as desired. Please do the math for this yourself.
Last but not least: you are probably asking for a skewed distribution. I would rather fix the median, not the mean. This makes above constructions a lot easier and more meaningful. The mean of a skewed distribution is not too reliable.
