[R] Programing and writing function help

jim holtman jholtman at gmail.com
Tue Oct 7 20:38:00 CEST 2008


Here is one way that might work for you:

> x <- c(20,18, 45, 16, 47, 47, 15, 26, 14,14,12,16,35,27,18,94,16,26,26,30)
> # create a matrix of pairs
> matrix(sample(x), ncol=2)
      [,1] [,2]
 [1,]   14   16
 [2,]   27   20
 [3,]   26   16
 [4,]   47   15
 [5,]   35   47
 [6,]   16   18
 [7,]   14   12
 [8,]   18   26
 [9,]   45   26
[10,]   94   30
> # all possible pairs
> # create a matrix of the dimensions x*x and the the indices of the lower triangle
> ind <- which(lower.tri(matrix(1,length(x), length(x))), arr.ind=TRUE)
> # create the pairs
> x.pairs <- cbind(x[ind[,1]], x[ind[,2]])
> str(x.pairs)
 num [1:190, 1:2] 18 45 16 47 47 15 26 14 14 12 ...
> head(x.pairs)
     [,1] [,2]
[1,]   18   20
[2,]   45   20
[3,]   16   20
[4,]   47   20
[5,]   47   20
[6,]   15   20


On Tue, Oct 7, 2008 at 1:50 PM, Stephen Cole <swbcole at gmail.com> wrote:
> Hello R users
>
> My goal is to use R to write functions for and automate a series of analyses
> i would like to do on a large data set.  The calculations are not very
> difficult in themselves, however they will be very time consuming (Plus I
> think R will be extremely useful and this is another excuse to learn how to
> program).
>
> I have a vector of 20 values
>
> x <- c(20,18, 45, 16, 47, 47, 15, 26, 14,14,12,16,35,27,18,94,16,26,26,30)
>
> 1.
> I  want to select random pairs from this data set but do it without
> replacement exhaustively
>
> I know i can select random pairs without replacement using
>
> sample(N,n,replace=F)
> However i am wondering if there is any way to get 10 random pairs from this
> data set without repeating any of the data points
> that is to say if i got a (20, 94) for one pair, i would like to get 9 other
> pairs from the data without again getting 20 or 94?
>
> 2.
> The second thing i would like to do is be able to select all possible pairs
> of numbers and calculate each pairs variance.  I think i will need a for
> loop here but I am unsure of how to do the programing.  I am reading two
> books on S and s-plus now and hope they are some help.  I thought i would
> also post on this list and get some expert advice for the more experienced R
> users
>
> Thank-you very much
>
> Stephen Cole
> Marine Ecology Lab
> Saint Francis Xavier University
>
>        [[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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?



More information about the R-help mailing list