UPDATE: dplyr aktualisiert wurde, da diese Frage gestellt wurde und führt nun als die OPFilterung data.frame basierend auf row_number()
Ich versuche, die zweiten auf die siebte Zeile zu bekommen in einem gesuchten data.frame
mit dplyr
.
Ich bin dies zu tun:
require(dplyr)
df <- data.frame(id = 1:10, var = runif(10))
df <- df %>% filter(row_number() <= 7, row_number() >= 2)
Aber das wirft einen Fehler.
Error in rank(x, ties.method = "first") :
argument "x" is missing, with no default
ich weiß, ich leicht machen könnte:
df <- df %>% mutate(rn = row_number()) %>% filter(rn <= 7, rn >= 2)
Aber ich möchte verstehen, warum mein erster Versuch nicht funktioniert.
'df%>% filter (row_number()% in% 2: 7)' – akrun
Ich könnte das auch, aber warum 'df <- df %>% filter (row_number() <= 7, row_number()> = 2)' ist falsch ? –
Ich kenne den wahren Grund nicht. Ein Doppelfilter scheint zu funktionieren. – akrun