我有一个dataframe:
mydata = data.frame(Species = rep(letters[1:3], each = 20),
Prey = rep(round(runif(12)*1000, 0), each = 5))
现在,我想给“物种”列中的每一行加上唯一的编号(例如a,b,c等),每个唯一的“猎物”。例如,我们有一个物种,我们有4个不同的猎物。那么我希望每个猎物都有a1,a2,a3,a4,a5。因此,我们有一个独特的组合,物种和猎物的每一个“a”的物种。
For prey 128 in a:a1,a2,a3,a4,a5
For prey 362 in a:a1,a2,a3,a4,a5
这对于下一个物种是相同的,但是对于物种“b”。
我已经试过了。但是每个唯一猎物的编号应该是连续的。
tmp <- mydata %>%
group_by(Species) %>%
mutate(ID = str_c(Species, as.numeric(as.factor(Prey)), sep = "."))
我希望我说清楚了。
先谢谢你。
2条答案
按热度按时间afdcj2ne1#
试试这个:
drkbr07n2#