我有超过15,000行的R数据框,如下所示:
+------------------------------------+-------+
| Authors | IDs |
+------------------------------------+-------+
| Abad J., Cabrera H.R., Medina A. | 16400 |
| Abad J., Cabrera H.R., Medina A. | 70058 |
| Abad J., Cabrera H.R., Medina A. | 71030 |
| A Banuls V., Salmeron J.L. | 57196 |
| A Banuls V., Salmeron J.L. | 56372 |
+------------------------------------+-------+
我想获得的是以下新列:
+------------------------------------+-------+-------+
| Authors | IDs |Order |
+------------------------------------+-------+-------+
| Abad J., Cabrera H.R., Medina A. | 16400 | 1 |
| Abad J., Cabrera H.R., Medina A. | 70058 | 2 |
| Abad J., Cabrera H.R., Medina A. | 71030 | 3 |
| A Banuls V., Salmeron J.L. | 57196 | 1 |
| A Banuls V., Salmeron J.L. | 56372 | 2 |
+------------------------------------+-------+-------+
基本上我想要一个新的列,其中计算具有相同作者的观察次数。
有什么猜想吗?
我们可以按“作者”进行分组并获得 row_number()
library(dplyr)
df1 %>%
group_by(Authors)%>%
mutate(order = row_number())
或搭配 ave
df1$order <- with(df1, ave(seq_along(Authors), Authors, FUN = seq_along))
或者,如果“作者”按字母顺序排列
df1$order <- sequence(table(df1$Authors))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句