[R] problem rbind after lapply (difference between 2.2.1 and 2.3.0)
Gary Collins
collins.gs at gmail.com
Wed May 10 15:35:26 CEST 2006
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
More information about the R-help
mailing list