Tord Snall wrote:

Dear all,

As part of a larger function, I am randomly removing rows from a data
frame. The number of removed rows is determmined by a Poisson distribution
with a low mean. Sometimes, the random number is 0, and that's when the
problem starts:
...
However, sometimes rpois(1, 2) lead to nft=0, and in that case I do not want


temp2<- temp[-sample(nrow(temp), 0), ]
temp2

[1] occ x y dbh age <0 rows> (or 0-length row.names)

This is a language feature, not a bug. The easiest way around it is to catch the case where it's an issue. Something like


if(nft==0) {
        rows <- 1:nrow(temp)
} else {
        rows <- -1 * sample(1:nrow(temp),nft)
}
temp2 <- temp[rows,]

Cheers

Jason
--
Indigo Industrial Controls Ltd.
http://www.indigoindustrial.co.nz
64-21-343-545
[EMAIL PROTECTED]

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to