2012-11-23 5 views
2

Possible en double:
Select NA in a data.table in Rdata.table - clés de jointure NA

demandais si cette fonctionnalité est destinée ou un bogue dans data.table?

a = data.frame(a=c(NA,1),aa=c(0,11)) 
b = data.frame(a=c(1),bb=c(11)) 
merge(a,b,all.x=T,by="a") 
    a aa bb 
1 1 11 11 
2 NA 0 NA 

a = data.table(a=c(NA,1),aa=c(0,11)) 
b = data.table(a=c(1),bb=c(11)) 
merge(a,b,all.x=T,by="a") 
    a aa bb 
1: NA 0 11 
2: 1 11 11 

même cette façon

setkey(b,a) 
b[a] 
    a bb aa 
1: NA 11 0 
2: 1 11 11 

Je voudrais vraiment attendre le comportement que vous obtenez avec data.frame ce cas.

thansk

Répondre

4

Voir FR#1043 Allow or disallow NA in keys?..

Il s'agit d'un problème connu, les valeurs NA sont autorisées, mais vous ne pouvez pas les joindre.

Voir la double question et répondre Select NA in a data.table in R pour une description plus détaillée

+1

merci, mais je ne comprends toujours pas comment il obtient cette valeur dans la jointure qui devrait être NA (c.-à-bb colonne)? Je pense que cette façon conduit à quelque chose de très inattendu. – jamborta

Questions connexes