English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Das Lernen einer neuen Sprache beginnt in der Regel mit dem Ausführen eines Programms "Hello, World!". Der "Hello, World!"-Code in der R-Sprache ist wie folgt:
myString <- "Hello, World!" print ( myString )
Der obige Beispielcode weist den String "Hello, World!" der Variable myString zu und gibt ihn dann mit der Funktion print() aus.
注意:Die Zuweisung in der R-Sprache verwendet den linken Pfeil <- Zeichen, obwohl einige neue Versionen auch das Gleichheitszeichen unterstützen =.
Gültige Variablennamen in der R-Sprache bestehen aus Buchstaben, Ziffern sowie Punkten . oder Unterstrichen _.
Der Variablenname beginnt mit einem Buchstaben oder einem Punkt.
Variablenname | Ist das korrekt? | Grund |
---|---|---|
var_name2. | Korrekt | Kann mit einem Zeichen beginnen und besteht aus Buchstaben, Ziffern, Unterstrichen und Punkten |
var_name% | Fehler | % ist ein ungültiges Zeichen |
2var_name | Fehler | Kann nicht mit einer Zahl beginnen |
.var_name, var.name | Korrekt | Der Punkt kann verwendet werden, aber darauf muss keine Zahl folgen |
.2var_name | Fehler | Der Punkt kann nicht direkt nach einer Zahl folgen |
_var_name | Fehler | Kann nicht mit einem Unterstrich _ beginnen |
Die Zuweisung der neuen Version der R-Sprache kann mit dem linken Pfeil < erfolgen-、Gleichheitszeichen = 、Rechter Pfeil -> Zuweisung:
# Verwenden Sie das Gleichheitszeichen = > var.1 = c(0,1,2,3) > print(var.1) [1] 0 1 2 3 # Verwenden Sie den linken Pfeil <-Zuweisung > var.2 <- c("learn","R") > print(var.2) [1] "learn" "R" # Verwenden Sie den rechten Pfeil <- Zuweisung > c(TRUE,1) -> var.3 > print(var.3) [1] 1 1
Variablen, die bereits definiert sind, können mit ls() Funktion:
> print(ls()) [1] "var.1" "var.2" "var.3"
Variablen können gelöscht werden mit rm() Funktion:
> rm(var.3) > print(ls()) [1] "var.1" "var.2" >
Im vorherigen Kapitel haben wir bereits erfahren, wie man die Programmumgebung von R installiert, in diesem Kapitel werden wir Ihnen die interaktive Programmierung und Skript-Programmierung der R-Sprache vorstellen.
Wir können den interaktiven Programmiermodus erreichen, indem wir den R-Befehl in der Befehlszeile ausführen.
R
Nach Ausführung dieses Befehls wird der R-Interpreter aufgerufen, wir können Code nach dem >-Zeichen eingeben.
Interaktive Befehle können durch Eingabe von q() beendet werden:
> q() Save workspace image? [y/n/c]: y
R-Sprache-Dateiendung ist .R.
Nun erstellen wir eine w3codebox-test.R Datei: Der Code ist wie folgt:
Nun führen wir den Skript mit Rscript im Befehlszeilenfenster aus:
Rscript w3codebox-test.R
Die Ausgabeergebnisse sind wie folgt:
[1] "w3codebox"
print() ist die Ausgabefunktion der R-Sprache.
Wie andere Programmiersprachen auch, unterstützt R-Zeitstempel, Zeichen und andere Ausgaben.
Die Ausgabe ist sehr einfach:
print("w3codebox") print(123) print(3e2)
执行结果:
[1] "w3codebox" [1] 123 [1] 300
R-Sprache ist wie node.js und Python ein interpretierendes Sprach, daher können wir R-Sprache oft wie eine Befehlszeile verwenden.
Wenn wir einen Wert in einer Zeile eingeben, standardisiert R ihn ebenfalls direkt ausgeben:
> 5e-2 [1] 0.05
Wenn wir die Verkettung der Ergebnisse ausgeben möchten, können wir die cat() Funktion verwenden:
> cat(1, "Addition", 1, "Gleichheitszeichen", 2, "\n") 1 Addition 1 Gleichheitszeichen 2
cat() Funktion fügt automatisch einen Leerzeichen zwischen jedem zwei verbundenen Elementen hinzu.
Die Methode zur Ausgabe von R-Sprache in eine Datei ist vielfältig und sehr bequem.
cat() Funktion unterstützt die direkte Ausgabe von Ergebnissen in eine Datei:
cat("w3codebox", file="/Users/w3codebox/w3codebox-test/r_test.txt")
Dieser Ausdruck erzeugt keine Ausgabe auf der Konsole, sondern schreibt "w3codebox" wird in "/Users/w3codebox/w3codebox-test/in die Datei r_test.txt geschrieben werden.
Der file-Parameter kann einen absoluten oder relativen Pfad sein, es wird empfohlen, einen absoluten Pfad zu verwenden, der Windows-Pfadformat ist D:\\r_test.txt.
cat("w3codebox", file="D:\\r_test.txt")
Hinweis: Diese Aktion ist eine "Überschreibungsoperation", bitte verwenden Sie sie vorsichtig, da sie die ursprünglichen Daten der Ausgabedatei löscht. Wenn Sie "hinzufügen" möchten, vergessen Sie nicht, den Parameter append zu setzen:
cat("GOOGLE", file="/Users/w3codebox/w3codebox-test/sink("r_test.txt", append=TRUE)
Nachdem Sie den obigen Code ausgeführt haben, öffnen Sie die Datei r_test.txt und Sie finden den folgenden Inhalt:
w3codeboxGOOGLE
sink() Funktion kann die Textausgabe der Konsole direkt in die Datei schreiben:
sink("/Users/w3codebox/w3codebox-test/r_test.txt")
Nach Ausführung dieses Befehls wird jede Ausgabe auf der Konsole in die Datei "/Users/w3codebox/w3codebox-test/Die Datei r_test.txt", und die Konsole zeigt keine Ausgabe an.
Hinweis: Diese Aktion ist auch eine "Überschreibungsoperation", die das ursprüngliche Dateiinhalt direkt löscht.
Wenn wir die Konsoleausgabe beibehalten möchten, können wir die split-Eigenschaft einstellen:
sink("/Users/w3codebox/w3codebox-test/sink("r_test.txt", split=TRUE)
Wenn Sie das Schreiben in die Datei beenden möchten, können Sie den sink() ohne Parameter aufrufen:
sink()
sink("r_test.txt", split=TRUE) # Die Konsole gibt ebenfalls aus for (i in 1:5) print(i) sink() # Beenden Sie das Schreiben in die Datei sink("r_test.txt", append=TRUE) # Die Konsole gibt nicht aus, schreibt jedoch in die Datei print("w3codebox")
Führen Sie den obigen Code aus, und es wird eine Datei r_test.txt im aktuellen Verzeichnis erstellt. Öffnen Sie die Datei und Sie finden den folgenden Inhalt:
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] "w3codebox"
Die Konsoleausgabe lautet:
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5
Vielleicht fallen uns C-Sprachfunktionen wie scanf oder Java-Funktionen wie java.util.Scanner ein, wenn wir Python gelernt haben, dann sind wir möglicherweise mit der input()-Funktion vertraut. Aber R-Sprache selbst ist als ein interpretatives Programmiersprache, ähnlich einigen Terminal-Skriptsprachen (wie bash oder PowerShell), die auf einem Kommandosystem basieren, benötigen sie selbstverständlich Eingabe und Ausgabe und sind nicht für die Entwicklung von Anwendungen für Benutzer geeignet (weil sie selbst für den Endbenutzer bestimmt sind). Daher hat R keine speziellen Funktionen, um aus der Konsole zu lesen, und die Texteingabe erfolgt in der Verwendung von R ständig.
R 语言中有丰富的文件读取函数,但是如果纯粹的想将某个文件中的内容读取为字符串,可以使用 readLines 函数:
readLines("/Users/w3codebox/w3codebox-test/r_test.txt")
执行结果:
[1] "w3codeboxGOOGLE"
读取结果是两个字符串,分别是所读取的文件包含的两行内容。
注意:所读取的文本文件每一行(包括最后一行)的结束必须有换行符,否则会报错。
除了文字的简单输入输出以外,R 还提供了很多输入数据和输出数据的方法,R 语言最方便的地方就是可以将数据结构直接保存到文件中去,而且支持保存为 CSV、Excel 表格等形式,并且支持直接地读取。这对于数学研究者来说无疑是非常方便的。但是这些功能对于 R 语言的学习影响不大,我们将在之后的章节提到。
对于文件操作,我们需要设置文件的路径,R 语言可以通过以下两个行数来获取和设置当前的工作目录:
getwd() : 获取当前工作目录
setwd() : 设置当前工作目录
# 当前工作目录 print(getwd()) # 设置当前工作目录 setwd("/Users/w3codebox/w3codebox-test2") # 查看当前工作目录 print(getwd())
执行以上代码输出结果为:
[1] "/Users/w3codebox/w3codebox-test" [1] "/Users/tianqixin/w3codebox-test2"