Hi:

It's unclear what you want for your vector of probabilities, but here's one
approach:

u$p <- runif(1000)        # generate a random vector of success
probabilities
samp <- function(x) {
          p <- as.numeric(x[3])     # x will be character as constructed,
pick out the numeric value of p
          x[sample(c(1, 2), 1, prob = c(p, 1 - p))]     # randomly sample
first or second element
      }
# Apply function samp to each row of the data frame
u$V3 <- apply(u, 1, samp)
u$p <- NULL         # get rid of the probability vector

head(u)

You weren't clear about how you wanted to select the success probabilities
of each element in each row, so I just generated them randomly. Adapt to
your situation.

HTH,
Dennis

On Mon, Mar 21, 2011 at 10:43 AM, Lisa <lisa...@gmail.com> wrote:

> Hi, everybody,
>
> I have a problem and need your help.
> There are two columns that look like this:
>
>  [1,] "t"  "f"
>  [2,] "f"  "t"
>  [3,] "t"  "f"
>  [4,] "t"  "t"
>  [5,] "f"  "f"
>
> I just want to generate the third column based on these two columns. First,
> I randomly choose one of the two columns, say, the first column. So, the
> first character of the third column is “t” that looks like this:
>
>  [1,] "t"  "f"  "t"
>  [2,] "f"  "t"
>  [3,] "t"  "f"
>  [4,] "t"  "t"
>  [5,] "f"  "f"
>
> Second, I determine the second character of the third column with an
> additional Bernoulli trial with a probability, for example, rbinom(1, 1,
> 0.3). If the random generation in R is 0, we keep "f", the second character
> in the first column because the first column has been chosen in the first
> step, while if the random generation in R is 1, we choose "t" instead, the
> second character in the second column.
>
> Third, I determine the third character of the third column with a Bernoulli
> trial but a different probability, for example, rbinom(1, 1, 0.7).
>
> Repeat these processes…
>
> How can I do this efficiently if there are more than thousand records
> (rows)?  Can anybody please help how to get this done? Thanks a lot in
> advance
>
> Lisa
>
>
>
> --
> View this message in context:
> http://r.789695.n4.nabble.com/Randomly-generating-data-tp3394250p3394250.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.
>

        [[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