Erstellen von Vektoren und Matrix

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

xImLost
Beiträge: 11
Registriert: Mo Jun 22, 2020 3:23 pm

Erstellen von Vektoren und Matrix

Beitrag von xImLost »

Hallo,
ich bin ein totales Baby was R angeht, aber wills mir unbedingt beibringen. Kann mir wer helfen oder zeigen wie ich :

1) einen Vektor mitHilfe von der seq Methode erstelle, der die Zahlen 2^1 bis 2^5 enthält
2) einen Vektor mithilfe von der seq Methode erstelle, der die Zahlen 1^2 2^2 bis 5^2 enthält
(Ohne seq ist das natürlich trivial, aber ich kapier es mit seq nicht, wie ich die Abstände richtig wähle oder kombiniere)

3) eine 10x10 Matrix erstelle, die die Zahlen 1, 1/2 .. 1/100 zeilenweise in eine Matrix packt. Mir gehts eigentlich hier nur um die Zahlenfolge. Den Rest kann bzw hab ich. Ich musst hier nämlich auch eine Matrix von 1 bis 100 machen und das hat ohne Probleme geklappt

Über Hilfe und Antworten wäre ich sehr dankbar

Mfg
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: Erstellen von Vektoren und Matrix

Beitrag von bigben »

Hallo!
xImLost hat geschrieben: Mo Jun 22, 2020 3:32 pmKann mir wer helfen oder zeigen wie ich :

1) einen Vektor mitHilfe von der seq Methode erstelle, der die Zahlen 2^1 bis 2^5 enthält
Das klingt total nach einer Hausaufgabe und die beantworten wir normalerweise nicht, sondern geben Hilfestellung bei der Selbsthilfe. Ich zeigt Dir mal, wie ich die Zahlen von 2*1 bis 2*n erstelle:

Code: Alles auswählen

2*seq(from = 1, to = 6)

Und da musst Du jetzt statt malnehmen Potenzrechnen.
2) einen Vektor mithilfe von der seq Methode erstelle, der die Zahlen 1^2 2^2 bis 5^2 enthält
(Ohne seq ist das natürlich trivial, aber ich kapier es mit seq nicht, wie ich die Abstände richtig wähle oder kombiniere)
Was trivial ist und was nicht ist sehr individuell. Wie würdest Du es denn ohne seq machen?
3) eine 10x10 Matrix erstelle, die die Zahlen 1, 1/2 .. 1/100
Die Zahlen von 1/1 bis 1/n erstellen ist der Natur nach nichts anderes als Frage 1) auch schon war. Vielleicht kannst Du es mit diesem Tipp lösen?

Viel Erfolg,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
xImLost
Beiträge: 11
Registriert: Mo Jun 22, 2020 3:23 pm

Re: Erstellen von Vektoren und Matrix

Beitrag von xImLost »

Ich hab leider keine Ahnung, inwiefern deine Tipps was mit meinem Problem zu tun haben /: ich bin mir nicht sicher, aber ich glaube du hast die 1) falsch verstanden bzw ich merk gerade, dass ich es ziemlich dumm formuliert habe. In den Vektor sollen nur die Zahlen 2^1, 2^2, 2^3.. 2^5 und genau diese unterschiedlichen Abstände sind mein Problem.
Mit trivial meinte ich c(2,4,8,16,32) bzw für 2) c(1,4,9,16,25), aber wie man das mit Sequenzen machen soll ist mir ein Rätsel

zu 3) die Zahlen von 1 bis 100 in eine 10x10 Matrix ist ja einfach : matrix(1:100, nrow=10,ncol=10), aber wie funktioniert das mit den Kehrwerten ?
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: Erstellen von Vektoren und Matrix

Beitrag von bigben »

Ok, dann liegt es daran, dass Du vektorwertiges Rechnen noch nicht kennst oder verinnerlicht hast. Probier doch mal aus, was folgendes macht

Code: Alles auswählen

2^c(1, 2, 3, 4, 5)
Bringt das den Groschen zum Rutschen?

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
xImLost
Beiträge: 11
Registriert: Mo Jun 22, 2020 3:23 pm

Re: Erstellen von Vektoren und Matrix

Beitrag von xImLost »

Hallo,
ich hab tatsächlich keine Ahnung, wieso das funktioniert, was du geschrieben hast, aber es klappt. Ich dachte zunächst, das ist die Lösung für 2), aber nein es ist für 1)? Kannst du mir erklären, wieso und wie das funktioniert ??

Bei 2) und 3) bin ich auch noch lost :( Aber ein herzlichstes Danke!

MfG

Edit : Ich bin dumm und hatte nen Denkfehler. Die 2) ist ja dann einfach der Vektor von 1 bis 5 hoch 2. Oh man. Manchmal steht man sich selbst im Weg und ich hab inzwischen auch verstanden, wieso 1) funktioniert. Einfach nur Dummheit pur xD Wobei bei meinem 3. Problem immernoch lost bin haha

Edit 2.0: Ich hab auch die 3. Aufgabe. Ich hatte sie die ganze Zeit schon, aber ich bin einfach wie mein Name sagt lost. Hatte die ganze Zeit (1:100)^(-1) da stehen und mich gefragt, wieso die Werte mir falsch angezeigt werden. Hab erwartet, dass mir 1 dann 0,5 dann 1/3 .... angezeigt wird, aber ich hab es zeilen und nicht spaltenweise angezeigt. Danke euch trotzdem allen ! und es tut mir leid für meine Dummheit
Zuletzt geändert von xImLost am Di Jun 23, 2020 12:24 am, insgesamt 2-mal geändert.
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Erstellen von Vektoren und Matrix

Beitrag von EDi »

Geht auch kürzer 8-)

Code: Alles auswählen

2^(1:5)
 (1:5)^2
1/(1:100)

1:5
seq(1, 5)
Der Dopplepunkt erstellt eine Sequenz

from:to

Und ist gleich seq(from, to), wobei from & to ganzzaheln sind. ?seq ist natürlich viel mächtiger als der Doppelpunkt, braucht man aber hier nicht.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
xImLost
Beiträge: 11
Registriert: Mo Jun 22, 2020 3:23 pm

Re: Erstellen von Vektoren und Matrix

Beitrag von xImLost »

EDi hat geschrieben: Di Jun 23, 2020 12:14 am Geht auch kürzer 8-)

Code: Alles auswählen

2^(1:5)
 (1:5)^2
1/(1:100)

1:5
seq(1, 5)
Der Dopplepunkt erstellt eine Sequenz

from:to

Und ist gleich seq(from, to), wobei from & to ganzzaheln sind. ?seq ist natürlich viel mächtiger als der Doppelpunkt, braucht man aber hier nicht.
Hab deine Antwort jetzt erst gesehen bzw angezeigt bekommen. Hab meinen Post vor deinem schon bearbeitet gehabt. Danke auch dir trotzdem!!
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: Erstellen von Vektoren und Matrix

Beitrag von bigben »

@xImLost Ich kann ich diesem Thread keinen Hinweis auf Dummheit finden. Du lernst, wie wir alle gelernt haben und lernen. Und bestimmt hast Du mit kleinen Hinweisen zum selbst erkennen besser gelernt, als wenn wir Dir einfach eine Lösung auf den Tisch gelegt hätten. Auch wenn Du Dich über meine Antworten anfangs vielleicht geärgert hast.

Weiter viel Erfolg!
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Werekorden
Beiträge: 83
Registriert: So Feb 04, 2018 7:52 pm

Re: Erstellen von Vektoren und Matrix

Beitrag von Werekorden »

Ach ja,

ich stehe auch gerade auf dem Schlauch.

Ich will eine Sequenze erstellen, die folgende Werte bis 125000 auswerfen soll.
0.125, 1.25, 12.50, 125, 1250, 12500, 125000
Es wird also beginnend mit 0.125 jeweils die nächste entstehende Zahl mit 10 multipliziert oder man multipliziert 0.125 erst mit 1 dann 10 dann 100 usw.

das by = Argument der seq function allerdings multipliziert hier nicht mit 10 sondern spring um den Wert 10 hoch bis zum to= Argument.

Code: Alles auswählen

seq(0.125, 125, 10)
gibt:
0.125, 10.125, 20.125, 30.125 usw.
Man kann auch soetwas machen:

Code: Alles auswählen

seq(0.125, 125, log(10))
oder sowas:

Code: Alles auswählen

c(2:10 %o% 10^(3:7))
Leider stehe ich auf dem Schlauch was mein eigenes Problem angeht? Jemand eine Idee.

Ich verspreche es ist keine Hausaufgabe! ;) :oops:

Danke
Andreas
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Erstellen von Vektoren und Matrix

Beitrag von EDi »

Tipp: 10 = 10^1, 100 = 10 ^ 2, ...
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Antworten