Seite 2 von 2

Re: Summe jeder Kombination berechnen

Verfasst: Fr Okt 08, 2021 10:42 am
von LeaRn
2 Zeilen sind gut genug :D . Ich war mir nicht bewusst, dass es vorgeschriebene Funktionen für sowas gibt. Vielen Dank nochmals für den Code und für die Erklärung.

Re: Summe jeder Kombination berechnen

Verfasst: Fr Okt 08, 2021 10:59 am
von Athomas
Neu war mir, dass das "sapply" in permn durch den "fun"-Parameter quasi eingearbeitet ist :) ...

Re: Summe jeder Kombination berechnen

Verfasst: Fr Okt 08, 2021 11:03 am
von jogo
Hallo Thomas,

es ist kein sapply() sondern ein lapply(), was dort in permn() (oder auch combn()) eingebaut ist. Die Funktion kann ein beliebiges Objekt zurückliefern, ein Argument simlify= ist nicht vorhanden. Deshalb noch unlist(...).

Gruß, Jörg

Re: Summe jeder Kombination berechnen

Verfasst: Fr Okt 08, 2021 11:17 am
von Athomas
Vielleicht ist meine Version dann noch einfacher :D :

Code: Alles auswählen

library(combinat)
Daten    <- matrix(rnorm(25), ncol=5)
permsum  <- function(vektor) sum(Daten[cbind(1:length(vektor), vektor)])
Ergebnis <- sapply(permn(1:5), permsum)

Re: Summe jeder Kombination berechnen

Verfasst: Fr Okt 08, 2021 11:22 am
von jogo
zumindest muss man durch die Nutzung von sapply() nicht den unlist()-Kopfstand machen. 8-)

Re: Summe jeder Kombination berechnen

Verfasst: Fr Okt 08, 2021 12:33 pm
von bigben
Und ich kannte das package gar nicht und bin immer noch ganz perplex, dass es für sowas grundlegendes wie die Permutationen der Elemente eines Vektors tatsächlich eines Fremdpakets bedarf. Warum haben wir sample.int(5, 5) als Boardmittel aber kein permutations()?

Naja, muss man wohl nicht verstehen.

LG,
Bernhard