我正在尝试创建一个变量,以识别每个唯一的主题,并一起“聚类”他们的访问。例如:
ID Visit Cluster
S101 0 1
S101 6 1
S101 12 1
S102 0 2
S105 0 3
S105 6 3
如何创建这个新变量“ Cluster”?我主要使用dplyr软件包。
答案 0 :(得分:1)
首先创建一个因子列,然后转换为整数。
library(dplyr)
dat2 <- dat %>%
mutate(Cluster = as.integer(factor(ID)))
dat2
# ID Visit Cluster
# 1 S101 0 1
# 2 S101 6 1
# 3 S101 12 1
# 4 S102 0 2
# 5 S105 0 3
# 6 S105 6 3
或使用group_indices
。
dat2 <- dat %>%
mutate(Cluster = group_indices(., ID))
dat2
# ID Visit Cluster
# 1 S101 0 1
# 2 S101 6 1
# 3 S101 12 1
# 4 S102 0 2
# 5 S105 0 3
# 6 S105 6 3
数据
dat <- read.table(text = "ID Visit
S101 0
S101 6
S101 12
S102 0
S105 0
S105 6",
header = TRUE, stringsAsFactors = FALSE)