[datatable-help] Unexpected behavior with mult="all"
Harish
harishv_99 at yahoo.com
Sat Jul 31 04:28:49 CEST 2010
I am getting some unexpected behavior with mult="all".
1) Getting a data table when I expect a vector
2) Not getting NA's when I expect them (because of nomatch=NA)
==========
Common code for examples below
x <- data.table(a=c("a","b","d","e"),b=c("A","A","B","B"),d=c(1,2,3,4), key="a,b")
y <- data.table(g=c("a","b","c","d"),h=c("A","A","A","A"))
==========
Issue #1: Getting a data table when I expect a vector
I am not following the logic of when a data.table is returned and when a vector is returned. Initially, I thought that if j had only one item without a list(), a vector is returned, but I am seeing some contrary behavior.
x[y,d] # Returns a vector as expected
x[y,d,mult="all"] # Returns a data.table. Why?
Would someone help me understand why I should not expect a vector in the last query?
==========
Issue #2: Not getting NA's when I expect them (because of nomatch=NA)
x[y,d,nomatch=NA] # Expected: returns a vector with NAs in them
x[y,d,nomatch=NA,mult="all] # Unexpected: NAs not appearing
Am I missing something?
Harish
More information about the datatable-help
mailing list