30 lines
746 B
R
30 lines
746 B
R
|
## accumulate here tests of the relation between S4 and S3 classes
|
||
|
|
||
|
## $<-.data.frame did stupid things with the class attribute
|
||
|
## that clobbered S4 classes extending "data.frame"
|
||
|
## Test that the S4 method (R 2.13.0) works transparently
|
||
|
|
||
|
set.seed(864)
|
||
|
|
||
|
xx <- data.frame(a=rnorm(10),
|
||
|
b=as.factor(sample(c("T", "F"), 10, TRUE)),
|
||
|
row.names = paste("R",1:10,sep=":"))
|
||
|
|
||
|
setClass("myData", representation(extra = "character"),
|
||
|
contains = "data.frame")
|
||
|
|
||
|
mx <- new("myData", xx, extra = "testing")
|
||
|
|
||
|
## three kinds of $<-: replace, add, delete (NULL value)
|
||
|
|
||
|
mx$a <- mx$a * 2
|
||
|
xx$a <- xx$a * 2
|
||
|
|
||
|
mx$c <- 1:10
|
||
|
xx$c <- 1:10
|
||
|
|
||
|
mx$b <- NULL
|
||
|
xx$b <- NULL
|
||
|
|
||
|
stopifnot(identical(mx, new("myData", xx, extra = "testing")))
|