[R] Generating Frequency Values

Berend Hasselman bhh at xs4all.nl
Tue Nov 26 19:19:10 CET 2013


On 26-11-2013, at 15:59, Burhan ul haq <ulhaqz at gmail.com> wrote:

> Hi,
> 
> My problem is as follows:
> 
> INPUT:
> "Frequency" from one column and  value of "Piglets" from another one
> 
> OUTPUT:
> Repeat this "Piglet" value as per the "Frequency"
> i.e.
> Piglet 1, Frequency 3, implies 1,1,1
> Piglet 7, Frequency 2, implies 7,7
> 
> SOLUTION:
> This is what I have tried so far:
> 
> 1. A helper function:
>> dput(fn.1)
> function (df.1, vt.1)
> {
>    i = c(1)
>    for (i in seq_along(dim(df.1)[1])) {
>        print(i)
>        temp = rep(df.1$Piglets[i], df.1$Frequency[i])
>        append(vt.1, values = temp)
>    }
> }
> 

There is a lot wrong with your function.
You should assign the result of append to vt.1
The function should return vt.1
Use seq_len instead of seq_along.

The function should be something like this

fn.1 <- function (df.1, vt.1)
{
   for (i in seq_len(length.out=dim(df.1)[1])) {
       print(i)
       temp = rep(df.1$Piglets[i], df.1$Frequency[i])
       vt.1 <- append(vt.1, values = temp)
   }
   vt.1
}

But Sarah’s solution is the way to go.

Berend


> 2. A dummy data frame:
>> dput(df.1)
> structure(list(Piglets = 5:14, Frequency = c(1L, 0L, 2L, 3L,
> 3L, 9L, 8L, 5L, 3L, 2L)), .Names = c("Piglets", "Frequency"), class =
> "data.frame", row.names = c(NA,
> -10L))
> 
> 3. A dummy vector to hold results:
>> dput(vt.1)
> 1
> 
> 4. Finally the function call:
> fn.1(df.1, vt.1)
> 
> 5. The results is:
> [1] 1
> 
> PROBLEM:
> The result is not a repetition of Piglet value as per their respective
> frequencies.
> 
> 
> 
> Thanks in advance for guidance and help.
> 
> CheeRs !
> 
> 
> p.s I have used caps for my heading / sections, nothing else is implied by
> their use.
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list