nehme ich die folgende Datenrahmen habenSplit Datenrahmen in die Behälter auf einem anderen Vektor-basierte
x <- c(12,30,45,100,150,305,2,46,10,221)
x2 <- letters[1:10]
df <- data.frame(x,x2)
df <- df[with(df, order(x)), ]
x x2
7 2 g
9 10 i
1 12 a
2 30 b
3 45 c
8 46 h
4 100 d
5 150 e
10 221 j
6 305 f
Und ich möchte diese in Gruppen aufgeteilt auf einem anderen Vektor-basierte,
v <- seq(0, 500, 50)
Grundsätzlich möchte ich um jede Zeile basierend auf Spalte x und wie sie mit v übereinstimmt zu trennen (also zum Beispiel x < = ein Element in v) - die Position/der Index dieses Elements in v wird dann verwendet, um eine Gruppe für diese Zeile zuzuweisen. Die resultierende Tabelle sollte in etwa wie folgt aussehen:
x x2 group
7 2 g g1
9 10 i g1
1 12 a g1
2 30 b g1
3 45 c g1
8 46 h g2
4 100 d g3
5 150 e g4
10 221 j g4
6 305 f g6
ich Schleife durch jede Zeile könnte versuchen und versuchen, es zu v entsprechen, aber ich bin immer noch verwirren, wie könnte ich leicht erkennen, wo das Spiel x < = Element v tritt auf, so dass ich ihm eine Gruppen-ID zuweisen kann. Vielen Dank.
Alles in einer Zeile - 'Schnitt (df $ x, v, paste0 (" g ", seq_along (v) [- Länge (v)]))' – thelatemail
clever, danke, das war sehr hilfreich – Ahdee