2 Stimmen

Wie erstelle ich zwei Vektoren aus einem vorhandenen Vektor (von Zeichen) in R?

Ich habe gerade angefangen, R zu benutzen und muss ab und zu kämpfen. Ich habe einen Vektor von Stimuli-Namen wie folgt:

1. abc1.jpg
2. abc2.jpg
3. bcd1.jpg
4. bcd2.jpg
5. cde1.jpg
6. cde2.jpg

Jetzt entspricht der erste Eintrag dem Bild auf der linken Seite und der zweite dem auf der rechten Seite. Ich möchte zwei Vektoren mit den Namen "left" und "right" erstellen, wobei der "left" Vektor aus den Einträgen 1,3,5,7,9... (geht bis 300) bestehen würde und der "right" immer der zweite Eintrag des gleichen Bildes wäre (2,4,6...)

Wie mache ich das? Vielen Dank im Voraus!

2voto

Sven Hohenstein Punkte 78380
vec <- 1:10 # ein Beispielvektor mit den Zahlen von 1 bis 10

vec[c(TRUE, FALSE)]
# [1] 1 3 5 7 9

vec[c(FALSE, TRUE)]
# [1]  2  4  6  8 10

Der kurze Indexvektor, z.B. c(TRUE, FALSE), wird recycelt, bis seine Länge mit der Länge des Vektors vec übereinstimmt.

1voto

Mark Miller Punkte 11771
x <- c('a','b','c','d','e','f','g','h')

x.odd <- x[(1:length(x) %% 2)==1] ; x.odd
#[1] "a" "c" "e" "g"

x.even <- x[(1:length(x) %% 2)==0] ; x.even
#[1] "b" "d" "f" "h"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X