【发布时间】:2017-03-09 19:09:33
【问题描述】:
给定以下data.table:
library(data.table)
dt <- data.table(id=c(1,2,3,4), Year1=c(NA, 30, 40, NA), Year2=c(NA, 30, 20 ,70), Year3=c(60, 40, 0, 10), Year4=c(10,20,30,30))
dtm <- melt(dt, id.var = 'id')[order(id, variable)]
我想将索引分配给dtm,这样预期的回报如下:
id variable value index
1: 1 Year1 NA NA
2: 1 Year2 NA NA
3: 1 Year3 60 1
4: 1 Year4 10 2
5: 2 Year1 30 1
6: 2 Year2 30 2
7: 2 Year3 40 3
8: 2 Year4 20 4
9: 3 Year1 40 1
10: 3 Year2 20 2
11: 3 Year3 0 3
12: 3 Year4 30 4
13: 4 Year1 NA NA
14: 4 Year2 70 1
15: 4 Year3 10 2
16: 4 Year4 30 3
我试过dtm[ ,index:=1:.N, by = id],但它并没有忽略NA。
你能给我建议吗?
【问题讨论】:
标签: r data.table na