Summe jeder Kombination berechnen
Re: Summe jeder Kombination berechnen
2 Zeilen sind gut genug . 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
Neu war mir, dass das "sapply" in permn durch den "fun"-Parameter quasi eingearbeitet ist ...
Re: Summe jeder Kombination berechnen
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
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
Vielleicht ist meine Version dann noch einfacher :
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
zumindest muss man durch die Nutzung von sapply() nicht den unlist()-Kopfstand machen.
Re: Summe jeder Kombination berechnen
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
Naja, muss man wohl nicht verstehen.
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte