Seite 1 von 1

Variablen in R script

Verfasst: Do Nov 09, 2023 10:32 am
von Aaron
Ist es möglich Variablen im R script auszuführen?

Code: Alles auswählen

#!/bin/sh

symbol="Beam"
year="2022"
suffix=".duckdb"

echo $symbol_$year$suffix

Re: Variablen in R script

Verfasst: Do Nov 09, 2023 11:30 am
von Athomas
Sag doch einfach mal, was Du "im Großen" vorhast.
Wir (speziell ich :D ) sind müde, bei Ansätzen mitzuhelfen, die absehbar in die Irre führen...

Re: Variablen in R script

Verfasst: Do Nov 09, 2023 12:13 pm
von Aaron
Ich habe wie gesagt, eine große Anzahl von csv Dateien, mit denen ich einige statistische Berechnungen durchführen möchte. Das Einlesen der Daten in die Datenbank funktioniert einwandfrei. Die Tabellen werden richtig angezeigt. Das Problem mit dem Datum scheine ich auch in den Griff bekommen zu haben. Der Datensatz besteht aus 3 Spalten.

Variablen:
Ich bekomme auch csv Dateien mit anderen Namen, mit denen die selben Berechnungen durchgeführt werden sollen. Ich will, wie einem shell Skript nur die Jahreszahlen und Namen der Datensätze in Variablendeklaration austauschen und nicht bei jedem neuen Datensatz durch das Skript gehen müssen.

Berechnungen:
1. Ich möchte den höchsten Wert aus Spalte Beta berechnen. Als Ergebnis möchte ich das Datum, die Uhrzeit und den Höchstwert angezeigt bekommen.
2. Ich möchte in jeder Zeile von Alpha den Wert aus Zeile Beta abziehen (s = Alpha - Beta)

Es sind noch 15 weitere Berechnungen durchzuführen. Am Ende will ich die Ergebnisse in Latex einfügen. Ich weiß, dass `R` auch mit Latex umgehen kann.

Ich möchte allen hier im Forum Danke sagen für die Hilfe.

Re: Variablen in R script

Verfasst: Do Nov 09, 2023 12:47 pm
von Athomas
Ich will, wie einem shell Skript nur die Jahreszahlen und Namen der Datensätze in Variablendeklaration austauschen und nicht bei jedem neuen Datensatz durch das Skript gehen müssen.
Das kannst Du problemlos innerhalb von R lösen! Schau Dir mal file.path(), paste() bzw. paste0() und evtl. list.files() an!
1. Ich möchte den höchsten Wert aus Spalte Beta berechnen.
Dafür reicht es, die Höchstwerte in den 200 Teildateien zu kennen - und davon den größten zu nehmen!
2. Ich möchte in jeder Zeile von Alpha den Wert aus Zeile Beta abziehen (s = Alpha - Beta)
Das kann man in jeder Teildatei machen, ohne die restlichen im Zugriff zu haben!?
Es sind noch 15 weitere Berechnungen durchzuführen.
Sind die auch so einfach? Bis hierhin wird das "Datum" eigentlich nicht "zum Rechnen" - sondern lediglich als Label - benutzt!
So gesehen könnte man sich die aufwändige Konvertierung (etwa nach POSIXct) sparen!?

Re: Variablen in R script

Verfasst: Do Nov 09, 2023 2:43 pm
von bigben
Hallo Aaron,
Aaron hat geschrieben: Do Nov 09, 2023 12:13 pmDas Einlesen der Daten in die Datenbank funktioniert einwandfrei. Die Tabellen werden richtig angezeigt. Das Problem mit dem Datum scheine ich auch in den Griff bekommen zu haben.
Cool. Sei doch bitte so nett und schreib das in die beiden Thread dazu - wenn jemand anderes dieses Forum nach DuckDB durchsucht und Deine Beiträge findet ist es schön, wenn er bei der Frage gleich findet, was jetzt die passende Antwort war.
Ich bekomme auch csv Dateien mit anderen Namen, mit denen die selben Berechnungen durchgeführt werden sollen.

R hat eine Funktion commandArgs(). Das ist der offiziell vorgesehene Weg, Argumente im Funktionsaufruf aus der Shell heraus in R Programmen zu verarbeiten. Wenn Du in einer Suchmaschine "R commandArgs" eingibst, findest Du sehr viel Hilfe dazu.

Wenn Du in Windows unterwegs sein solltest könnten Dir auch die Funktionen choose.dir() und choose.files() aus dem utils package nützlich sein. Damit kann man in einem RSkript eine Fileauswahldialog öffnen.

LG,
Bernhard