2010-01-23 16 views
10

Dans les listes Python peuvent être tranchées comme ceci x[4:-1] pour obtenir du quatrième au dernier élément.R manipulation de tableau

Dans R quelque chose de similaire peut être accompli pour les vecteurs avec x[4:length(x)] et pour les tableaux multidimensionnels avec quelque chose comme x[,,,,4:dim(x)[5],,,]. Est-ce une syntaxe plus élégante pour découper un tableau pour une dimension particulière d'un élément du milieu au dernier élément?

Merci

+1

En fait, en python, x [4: -1] ignorera le dernier élément. Pour inclure le dernier élément, vous avez juste besoin de x [4:], ce qui équivaut à celui d'algoriffic (1:10) [- (1: 4)] dans R. – signalseeker

+0

Également un sur le devant! En python x [4: -1] obtiendra le cinquième (et non le quatrième) à l'avant-dernier élément. – John

Répondre

19

Vous pouvez utiliser les éléments de chute syntaxe:

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

C'est juste le genre de chose que je cherchais, merci! – momeara

7

Si vous êtes intéressé à trancher les derniers éléments n du tableau que vous pouvez ensuite utiliser:

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