2017-10-27 1 views
1

Aktualisierung Ich habe zwei data.table Objekte in R: Bibliothek (data.table)eine data.table Spalte basierend auf zusammenpassenden zu einem anderen data.table

spp <- c('A','B','C','D','E') 
state <- c('Z','Q',NA,'Z','Q') 
d1 <- data.table(spp,state) 

spp <- c('C','B','K') 
state <-c('Z','Q','Q') 
d2 <- data.table(spp,state) 

Die Beobachtung C in Spalte spp von d1 hat eine NA Wert in Spalte state. Jedoch hat in d2 die Beobachtung in Spalte spp den Wert Z in Spalte state. Wie kann ich die state Spalte von d1 aktualisieren und die state Beobachtungen von d2 hinzufügen, wenn es eine spp Beobachtung gibt, die sowohl für d1 als auch für d2 gilt?

Antwort

0

Wir können ein on treten die ‚spp‘ und weisen den ‚Zustand‘ mit dem zweiten Datensatz ‚Zustand‘ Spalte d.h. i.state

d1[d2, state := i.state, on = .(spp)] 
Verwandte Themen