I'm running R 2.9.1 on winXP, using the library plyr. Can anyone explain to me what is going wrong in this code? (in particular see lines marked with ******************) Trying to modify objects in a list created using dlply seems to corrupt the objects in the list.
> library(plyr) > d=as.data.frame(cbind(c(1,1,1,2,2,2),c(1,2,3,4,5,6))) > d V1 V2 1 1 1 2 1 2 3 1 3 4 2 4 5 2 5 6 2 6 > c=dlply(d,.(V1)) > c [[1]] V1 V2 1 1 1 2 1 2 3 1 3 [[2]] V1 V2 4 2 4 5 2 5 6 2 6 ## display an element from the second data frame > c[[2]][2,2] [1] 5 ## change element in the second data from > c[[2]][2,2]=10 > c [[1]] V1 V2 2 1 2 ************** 2.1 1 2 ************** What happened to V2? 2.2 1 2 ************** [[2]] V1 V2 4 2 4 NA NA NA ********************************** 6 2 6 ##Try again with first data frame > c=dlply(d,.(V1)) > c[[1]][2,2]=10 ********************************** > c [[1]] NULL ********************************* YIKES! ##Try again but copy c into a new list k > c=dlply(d,.(V1)) > k=list(c[[1]],c[[2]]) > k[[1]] V1 V2 1 1 1 2 1 2 3 1 3 > k[[2]][2,2]=10 > k [[1]] V1 V2 1 1 1 2 1 2 3 1 3 [[2]] V1 V2 4 2 4 5 2 10 *************************** 6 2 6 > k[[1]][2,2]=10 > k [[1]] V1 V2 1 1 1 2 1 10 ******************************* 3 1 3 [[2]] V1 V2 4 2 4 5 2 10 6 2 6 [[alternative HTML version deleted]] ______________________________________________ R-help@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.