[R] sample {base}
David Carlson
dcarlson at tamu.edu
Wed Jun 5 16:57:35 CEST 2013
Something like this?
> set.seed(42)
> a <- sample.int(10)
> b <- sample.int(5)
> c <- sample.int(3)
> smpl <- function(x) sample(x, ifelse(length(x)<5, length(x), 5))
> smpl(a)
[1] 4 8 1 10 2
> smpl(b)
[1] 2 3 5 1 4
> smpl(c)
[1] 2 1 3
-------------------------------------
David L Carlson
Associate Professor of Anthropology
Texas A&M University
College Station, TX 77840-4352
-----Original Message-----
From: r-help-bounces at r-project.org
[mailto:r-help-bounces at r-project.org] On Behalf Of Xochitl CORMON
Sent: Wednesday, June 5, 2013 9:28 AM
To: r-help at r-project.org
Subject: [R] sample {base}
Hi all,
I'm trying to randomly select sample numbers for length class groups
(5
per length class).
For this I'm using a loop FOR and the function sample () and
specified a
size for the sampling of 5. Unfortunately, one of the length class
group
does not contain 5 individuals. For me is not a big deal as I have
others groups to complete. However it bothers me that the sampling
function does not select any individuals in this group generating
the
error below :
Error in sample(Gpool2$SampleNb[Gpool2$LngtClas == LngtClas[[i]] &
Gpool2$SpCode == : can not take a sample larger than the population
when 'replace = FALSE'.
I understand why this error message appears but I was wondering if
there
is a way to select all the items present in the group even if it's
not 5
(something like size =< 5).
LngtClas <- list( "40_49", "50_59", "60_69", "70_")
SpCode <- list ("POLLVIR ", "MERLMER")
a <- as.character(sample(Gpool$SampleNb[Gpool$LngtClas ==
LngtClas[[4]]
& Gpool$SpCode == SpCode[[2]]], size = 5, replace = FALSE))
You can find enclosed my dataset,
Thank you for the help,
Xochitl C.
<>< <>< <>< <><
Xochitl CORMON
+33 (0)3 21 99 56 84
Doctorante en sciences halieutiques
PhD student in fishery sciences
<>< <>< <>< <><
IFREMER
Centre Manche Mer du Nord
150 quai Gambetta
62200 Boulogne-sur-Mer
<>< <>< <>< <><
More information about the R-help
mailing list