【发布时间】:2019-07-30 22:33:51
【问题描述】:
我想根据数据点的“名称”因素为每个数据点分配一个身份,并且在该因素相同的情况下,它必须具有相同的身份编号或 ID 标签。我有大量数据,所以这可以是一个随机的身份代码 - 它只需要将具有相同名称的人分组到一个单独的 ID 下,这样我可以使名称匿名,但仍将数据点分组在一起。
例如在“Aur”下面的虚拟数据中可能是A,“Cos”= B ... next ,C, D.... A1, B1, ...A2....等。
我认为这将是一些 group_by(Name, mutate()) 函数?但我不确定。
这是一些虚拟数据:
df <- structure(list(`Local Time` = structure(c(1559388960,
1559389200, 1559394840, 1559397180, 1559397900, 1559398380,
1559398560, 1559398680, 1559398740, 1559398800, 1559399160,
1559399280, 1559399400, 1559399580, 1559399640, 1559399820,
1559399940, 1559400120, 1559400240, 1559400780, 1559400840,
1559400960, 1559401080, 1559401260, 1559401380, 1559383560,
1559389200, 1559389440, 1559395080, 1559395320, 1559397180,
1559397900, 1559398200, 1559398440, 1559398680, 1559398920,
1559399220, 1559399520, 1559399820, 1559400120, 1559400360,
1559400660, 1559400960, 1559401200, 1559401500, 1559401740,
1559402040, 1559402280, 1559402580, 1559402880
), class = c("POSIXct", "POSIXt"), tzone = ""), COG = c(315,
352.6, 265.6, 214.9, 240.8, 245.5, 240.3, 250.5, 262.4, 269.8,
281.1, 262.9, 253.1, 247.7, 255.5, 249.4, 263.2, 268.6, 279.6,
274.3, 254.6, 246.6, 253.7, 242.3, 163.5, 90, 88, 89, 93, 96,
95, 97, 97, 98, 98, 95, 93, 94, 92, 91, 91, 91, 91, 90, 90, 92,
89, 89, 89, 88), NAME = c("Aur", "Aur", "Aur", "Aur", "Aur",
"Aur", "Aur", "Aur", "Aur", "Aur", "Aur", "Aur", "Aur", "Aur",
"Aur", "Aur", "Aur", "Aur", "Aur", "Aur", "Aur", "Aur", "Aur",
"Aur", "Aur", "Cos", "Cos", "Cos", "Cos", "Cos", "Cos", "Cos",
"Cos", "Cos", "Cos", "Cos", "Cos", "Cos", "Cos", "Cos", "Cos",
"Cos", "Cos", "Cos", "Cos", "Cos", "Cos", "Cos", "Cos", "Cos"
)), row.names = c(NA, -50L), class = c("tbl_df", "tbl",
"data.frame"))
【问题讨论】:
-
将变量设为
factor的数字表示就足够了 -as.integer(factor(df$NAME))?