2010-01-23 3 views
10

Nelle liste python può essere affettato come questo x[4:-1] per passare dal quarto all'ultimo elemento.Manipolazione array R

In R qualcosa di simile può essere realizzato per vettori con x[4:length(x)] e per matrici multidimensionali con qualcosa come x[,,,,4:dim(x)[5],,,]. È questa sintassi più elegante per l'affettatura di matrice per una particolare dimensione da un elemento nel mezzo all'ultimo elemento?

Grazie

+1

realtà in python, x [4: -1] salterà l'ultimo elemento. Per includere l'ultimo elemento è sufficiente x [4:], che è equivalente a algoriffic's (1:10) [- (1: 4)] in R. – signalseeker

+0

Anche uno in primo piano! In python x [4: -1] otterrà il quinto (non il quarto) del penultimo elemento. – John

risposta

19

È possibile utilizzare l'elementi goccia sintassi:

> (1:10)[-(1:4)] 
[1] 5 6 7 8 9 10 
+0

Questo è proprio il tipo di cosa che stavo cercando, grazie! – momeara

7

Nel caso siate interessati a tagliare gli ultimi n elementi dell'array allora si potrebbe utilizzare:

x[seq(length=n, from=length(x), by=-1)]