樣本數據:與NA替換除了最後一行給出ID,其中R
x <- data.frame(id=c(1,1,1,2,2,7,7,7,7),dna=c(232,424,5345,45345,45,345,4543,345345,4545))
y <- data.frame(id=c(1,1,1,2,2,7,7,7),year=c(2001,2002,2003,2005,2006,2000,2001,2002))
x <- transform(x, rec = ave(id, id, FUN = seq_along))
y <- transform(y, rec = ave(id, id, FUN = seq_along))
df <- merge(x, y, c("id", "rec"))
df
我想與NA
取代的dna
列值除給定id
和rec
最後一行。我怎樣纔能有效地做到這一點?理想將是在基地R解決方案。謝謝!
所需的輸出:
id rec dna year
1 1 1 NA 2001
2 1 2 NA 2002
3 1 3 5345 2003
4 2 1 NA 2005
5 2 2 45 2006
...
...
雖然這如果有任何ID – rawr 2014-08-27 12:03:16
好點@rawr只有一個REC難道不工作,沒想到的是......我做了更新 – lukeA 2014-08-27 12:07:51