[R] problem rbind after lapply (difference between 2.2.1 and 2.3.0)

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed May 10 17:16:24 CEST 2006


This is already fixed in R-patched:

     o   rbind()ing dataframes with a single row could lead to a
         corrupt data frame (a problem with the fix to PR#8506).

On Wed, 10 May 2006, Gary Collins wrote:

> Any help on the following would be appreciated...
>
>> R.version
>         _
> platform i386-pc-mingw32
> arch     i386
> os       mingw32
> system   i386, mingw32
> status
> major    2
> minor    2.1
> year     2005
> month    12
> day      20
> svn rev  36812
>> language R
>> set.seed(2)
>> x=matrix(ncol=4, nrow=10)
>> for(i in 1:4) x[,i]=rnorm(10)
>> x=as.data.frame(x)
>> x$V1=c(rep(0,5), rep(1,5))
>> x
>   V1          V2           V3         V4
> 1   0  0.41765075  2.090819205  0.7389386
> 2   0  0.98175278 -1.199925820  0.3189604
> 3   0 -0.39269536  1.589638200  1.0761644
> 4   0 -1.03966898  1.954651642 -0.2841577
> 5   0  1.78222896  0.004937777 -0.7766753
> 6   1 -2.31106908 -2.451706388 -0.5956605
> 7   1  0.87860458  0.477237303 -1.7259798
> 8   1  0.03580672 -0.596558169 -0.9025845
> 9   1  1.01282869  0.792203270 -0.5590619
> 10  1  0.43226515  0.289636710 -0.2465126
>
>>  do.call("rbind", lapply(split(x, x$V1), function(x) data.frame(min=min(x$V2), max=max(x$V2))))
>        min      max
> 0 -1.039669 1.782229
> 1 -2.311069 1.012829
>
> yet with the same call on version 2.3.0, I get the following error.
>
>> do.call("rbind", lapply(split(x, x$V1), function(x) data.frame(min=min(x$V2), max=max(x$V2))))
> Error in data.frame(min = c("-1.039669", "-2.311069"), max = c("1.782229",  :
>        row names contain missing values
>
> Any clues on what has changed between the two versions? and a fix to
> get around this? The actual function (min, max) within the lapply is
> just an example for illustration only, the issue is the "rbinding" of
> results from an lapply call. I've had a look at the changes document
> packaged with 2.3.0 and found nothing...so wondering whether it's a
> bug or not?
>
> Thanks in advance.
>
> Gary
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list