Dea'R' helpers 

I have following data - 

prob = c(0.1, 0.2, 0.3, 0.4, 0.5)
frequency = c(100, 75, 45, 30, 25)
no_trials = c(10, 8, 6, 4, 2)

freq1 = rbinom(frequency[1], no_trials[1], prob[1])
freq2 = rbinom(frequency[2], no_trials[2], prob[2])
freq3 = rbinom(frequency[3], no_trials[3], prob[3])
freq4 = rbinom(frequency[4], no_trials[4], prob[4])
freq5 = rbinom(frequency[5], no_trials[5], prob[5])

total_frequency = c(freq1, freq2, freq3, freq4, freq5)
total_frequency = as.numeric(lapply(total_frequency, function(x){replace(x, x 
== 0, 1)}))

This helps me to generate (sum(frequency) = 275) non zero binomial numbers as

total_frequency

  [1] 1 1 1 2 1 1 1 2 1 1 1 1 1 1 3 2 1 1 1 1 1 1 1 1 1 3 1 1 2 1 3 1 1 1 3 1 1 
1 1 1 1 4 3 1 1 1 2 1 1 1 2 3 2 1 1 1 1 1 1
 1

 [61] 2 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 3 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 
1 1 1 3 2 3 1 3 1 2 3 1 1 1 1 2 1 3 1 2 1 1 2

[121] 3 1 2 1 3 3 3 1 5 2 3 2 1 3 2 1 2 1 1 1 3 1 4 1 1 3 3 1 1 3 1 2 3 2 1 2 5 
1 2 2 1 1 1 1 2 2 2 3 1 1 3 1 1 1 1 3 1 3 1 2

[181] 1 2 1 2 1 2 1 2 2 4 2 2 1 4 1 1 3 2 4 1 1 3 1 3 1 1 1 2 2 1 3 1 1 4 1 1 3 
2 1 3 3 1 1 2 1 1 2 3 3 1 1 2 3 2 1 1 1 2 1 1

[241] 1 3 2 1 1 2 3 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1


## My Problem

However I am not sure whether I will be dealing with only "5" numbers. So I can 
have 'n' no.s of frequencies, no of trials and even probabilities. Thus I need 
to generate these numbers using a loop. Assuming I am once again dealing with 
above data only, I have tried to modify my R code as given below.

n = length(frequency)

freq = NULL

for (i in 1:n)
{
freq[i] = rbinom(frequency[i], no_trials[i],
 prob[i])
}

I get following errors - 

Warning messages:
1: In freq[i] = rbinom(frequency[i], no_trials[i], prob[i]) :
  number of items to replace is not a multiple of replacement length
2: In freq[i] = rbinom(frequency[i], no_trials[i], prob[i]) :
  number of items to replace is not a multiple of replacement length
3: In freq[i] = rbinom(frequency[i], no_trials[i], prob[i]) :
  number of items to replace is not a multiple of replacement length
4: In freq[i] = rbinom(frequency[i], no_trials[i], prob[i]) :
  number of items to replace is not a multiple of replacement length
5: In freq[i] = rbinom(frequency[i], no_trials[i], prob[i]) :
  number of items to replace is not a multiple of replacement length


I understand I have written a stupid code. I even tried to define freq in a 
matrix form as

freq <- matrix(data=0, nrow=n, ncol=1) but the result is
 same.

Please guide me as how I should be writing the required loop in order to take 
care of variable size of frequency input.

Thanking you in advance for the guidance.

Sarah



      
        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to