【发布时间】:2017-04-24 20:05:02
【问题描述】:
我有以下data.table(不过如果你用它作为data.frame也可以)
library(data.table)
dt <- data.table(first_column = c("item1", "item2", "item3", "item4", "item5", "item6", "item7"),
second_column = c("cat1", "cat1", "cat1", "cat2", "cat2", "cat2", "cat2"), third_column = c(50, 10, 18, 3092, 731, 189, 1991))
> dt
first_column second_column third_column
1: item1 cat1 50
2: item2 cat1 10
3: item3 cat1 18
4: item4 cat2 3092
5: item5 cat2 731
6: item6 cat2 189
7: item7 cat2 1991
我想:
(1) 如果值为
(2) 然后为这些唯一的 1 分组编号
生成的 data.table 如下所示:
> dt
first_column second_column third_column labels
0 item1 cat1 50 1
1 item2 cat1 10 1
2 item3 cat1 18 1
3 item4 cat2 3092 0
4 item5 cat2 731 2
5 item6 cat2 189 2
6 item7 cat2 1991 0
这将创建一个全零和一的列:
dt$new[which(dt$third_column < 1000)] = 1
然后我将如何标记这些 1 的“分组”?
【问题讨论】:
标签: r dataframe data.table