R数据表:用CJ填充行,但保留NA行
我有一个数据表,带有一个分组列,并希望填充行,以便每个组的行数与人口最多的组的行数相同。考虑此数据,其中列A具有变量,列B为组;R数据表:用CJ填充行,但保留NA行,r,data.table,R,Data.table,我有一个数据表,带有一个分组列,并希望填充行,以便每个组的行数与人口最多的组的行数相同。考虑此数据,其中列A具有变量,列B为组; ## dummy data require(data.table) dt <- data.table(a=c(1,3,5,1,2,3,4,5,1,5), b=c("gpA","gpA","gpA","gpB","gpB","gpB","gpB","gpB","gpC","gpC"), c=c(2346,2314,345,234,578,36,234,547,34
## dummy data
require(data.table)
dt <- data.table(a=c(1,3,5,1,2,3,4,5,1,5),
b=c("gpA","gpA","gpA","gpB","gpB","gpB","gpB","gpB","gpC","gpC"),
c=c(2346,2314,345,234,578,36,234,547,3425,234))
a b c
1: 1 gpA 2346
2: 3 gpA 2314
3: 5 gpA 345
4: 1 gpB 234
5: 2 gpB 578
6: 3 gpB 36
7: 4 gpB 234
8: 5 gpB 547
9: 1 gpC 3425
10: 5 gpC 234
必须将函数重新分配给原始变量才能保存结果
dt <- dt[CJ(b,a, unique=T)]
dt谢谢,我想我有点想不使用subassignment,如果你不想反复重新分配变量,我建议你看看dplyr包。当然谢谢,我想我在dplyr中看到了一个很好的答案。干杯。
dt <- dt[CJ(b,a, unique=T)]