Ich bin auf der Suche nach einer einfachen Funktion, die Fälle chronologisch durch eine andere Variable in R. Nummer wirdFall von Variable
For example:
ID Age Case
1 30 1
2 30 2
3 30 3
4 31 1
5 31 2
6 32 1
7 32 2
Ich bin auf der Suche nach einer einfachen Funktion, die Fälle chronologisch durch eine andere Variable in R. Nummer wirdFall von Variable
For example:
ID Age Case
1 30 1
2 30 2
3 30 3
4 31 1
5 31 2
6 32 1
7 32 2
hier mit splitstackshape
library(splitstackshape)
getanID(df1, "Age")[]
Oder mit dplyr
library(dplyr)
df1 %>%
group_by(Age) %>%
mutate(Case = row_number())
Danke, das funktioniert perfekt eine kompakte Option ist! – Microsim
Hier ist eine Art und Weise:
df <- data.frame(ID=c(1L,2L,3L,4L,5L,6L,7L),Age=c(30L,30L,30L,31L,31L,32L,32L));
df$Case <- ave(df$ID,df$Age,FUN=order);
df;
## ID Age Case
## 1 1 30 1
## 2 2 30 2
## 3 3 30 3
## 4 4 31 1
## 5 5 31 2
## 6 6 32 1
## 7 7 32 2
Mit order()
als Gruppenfunktion stellt sicher, dass die Werte Case
entsprechend der Spalte ID
geordnet werden, auch wenn sie nicht sortiert sind.
Sie können '? Ave' mit' FUN = seq_along' –