(R 2.9.2 on Windows XP)

Turns out that

     my.data.frame[c(1,3)] <- list(NULL, NULL)
and
     my.data.frame[c(3,1)] <- list(NULL, NULL)

are not the same.  Is this expected?

Example:

d0 <- structure(list(Year = c(2009L, 2009L, 2009L), Season = c(1L,
1L, 1L), Series = c(1L, 1L, 1L), Mst = structure(c(1L,
1L, 1L), .Label = "", class = "factor"), Yield = structure(c(1L,
1L, 1L), .Label = "", class = "factor")), .Names = c("Year",
"Season", "Series", "Mst", "Yield"), row.names = c(NA,
3L), class = "data.frame")

d1 <- d0
d1[c(3,1)] <- list(1:3, 4:6)
print(d1)

  Year Season Series Mst Yield
1    4      1      1
2    5      1      2
3    6      1      3


d1[c(3,1)] <- list(NULL, NULL)
print(d1)

  Season Series Yield
1      1      1
2      1      2
3      1      3

It appears that the above assignment deletes column 1 from the data frame,
then sequentially deletes column 3 (Mst, which was originally column 4
before column 1 was deleted).

Compare this to

d1 <- d0
d1[c(1,3)] <- list(NULL, NULL)
print(d1)
  Season Mst Yield
1      1
2      1
3      1


Kevin Wright

        [[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.

Reply via email to