Seite 1 von 1

Vektor mit vorgegebener Anzahl an Elementen erstellen

Verfasst: Sa Jul 18, 2020 1:01 pm
von ruppy
Hi zusammen,

ist etwas schwierig für die Fragestellung einen geeigneten Titel zu finden. Die Frage selbst sollte ich aber gut beschreiben können.

Angenommen ich habe einen Vektor mit IDs bspw. Kundennummern:

Code: Alles auswählen

x <- 1:100
Aus diesem Vektor erstelle ich mir aktuell einen Vektor in dieser Form (diesen verwende ich in einer anderen Funktion gewissermaßen als Query um Abfragen gege eine NoSQL-Datenbank laufen zu lassen):

Code: Alles auswählen

query <- paste0("customer_id: ", x)
Dann erhalte ich einen Vektor der Länge 100. Ich hätte stattdessen aber lieber einen kürzeren Vektor bspw. mit Länge 50. Dieser müsste dann so aussehen:

Code: Alles auswählen

"customer_id: 1 OR 2" ... "customer_id: 99 OR 100"
Hintergrund ist, dass dann nur 50 statt 100 Abfragen gegen die NoSQL-Datenbank laufen, was natürlich bedeutend schneller ist.

Mir ist durchaus bewusst, dass auch die Abfrage an sich Optimierungspotential hat (in SQL-Logik über Kombi aus WHERE und IN).

Mir geht es aber tatsächlich nur um die Erstellung dieses Vektors.

Interessant wäre auch wie man am besten vorgeht wenn der initiale Vektor "x" mal die Länge 119, 122 oder was auch immer hat.

Hoffe es ist verständlich :)

Vielen Dank und beste Grüße

ruppy

Re: Vektor mit vorgegebener Anzahl an Elementen erstellen

Verfasst: Sa Jul 18, 2020 3:48 pm
von bigben
Vielleicht so?

Code: Alles auswählen

n <-100 # vorläufig für gerade Zahlen
customer.id <- sample(1000:3000, n)
head(customer.id,10)

nebeneinander <- data.frame(ungerade.id = customer.id[seq(1, n-1, 2)],
                            gerade.id = customer.id[seq(2, n, 2)])

nebeneinander$call <-  paste0("customer_id: ", nebeneinander[, 1], " OR " , nebeneinander[, 2])

head(nebeneinander, 10)
Natürlich kann man das auch zu einem Einzeiler ohne den zusätzlichen Data.frame umformulieren und natürlich müsstest Du noch entscheiden, was bei ungeraden Kundenzahlen passieren soll, aber das kriegst Du hin.

LG,
Bernhard

Re: Vektor mit vorgegebener Anzahl an Elementen erstellen

Verfasst: Do Jul 23, 2020 6:52 pm
von ruppy
Hi bigben,

vielen Dank für die Antwort.

Hat funktioniert. Habe es auf 4 Ids je Query erweitern können und mit furrr parallelisiert

War dann von der Dauer her akzeptabel.

BG ruppy