English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La maggior parte delle persone inizia a imparare un nuovo linguaggio di programmazione con il programma di output "Hello, World!". Ecco il codice del programma "Hello, World!" del linguaggio R:
myString <- "Hello, World!" print ( myString )
L'esempio di seguito assegna la stringa "Hello, World!" alla variabile myString e poi utilizza la funzione print() per visualizzarla.
注意:Il linguaggio R utilizza l'arrow left <- per l'assegnazione, ma alcune versioni più recenti supportano anche l'uguale = =.
I nomi validi delle variabili del linguaggio R sono composti da lettere, numeri e punti . o trattini bassi _.
Il nome della variabile inizia con una lettera o un punto.
Nome variabile | È corretto? | Ragione |
---|---|---|
var_name2. | Corretto | Il nome della variabile inizia con un carattere e è composto da lettere, numeri, trattini bassi _ e punti . |
var_name% | Errore | Il simbolo % è un carattere illegale |
2var_name | Errore | Non può iniziare con un numero |
.var_name, var.name | Corretto | Puoi iniziare con un punto ., ma attenzione: il punto . non può essere seguito da un numero |
.2var_name | Errore | Il punto . non può essere seguito da un numero |
_var_name | Errore | Non può iniziare con una linea sottile _ |
La versione più recente del linguaggio R utilizza l'arrow left <-, l'uguale = e l'arrow right -> per assegnare:
# Utilizza il simbolo di uguaglianza = per assegnare > var.1 = c(0,1,2,3) > print(var.1) [1] 0 1 2 3 # Utilizza il simbolo di freccia sinistra <- per assegnare > var.2 <- c("learn","R") > print(var.2) [1] "learn" "R" # Utilizza il simbolo di freccia destra <- per assegnare > c(TRUE,1) -> var.3 > print(var.3) [1] 1 1
Puoi visualizzare le variabili definite utilizzando ls() Funzione:
> print(ls()) [1] "var.1" "var.2" "var.3"
Puoi eliminare una variabile utilizzando rm() Funzione:
> rm(var.3) > print(ls()) [1] "var.1" "var.2" >
Nella sezione precedente abbiamo imparato come installare l'ambiente di programmazione di R, in questo capitolo vi introdurremo la programmazione interattiva e la programmazione di script del linguaggio R.
Possiamo eseguire il comando R nella riga di comando per entrare nella finestra di programmazione interattiva:
R
Esecutato questo comando, verrà richiamato l'interprete del linguaggio R, possiamo inserire il codice dopo il simbolo >.
I comandi interattivi possono essere usati per uscire digitando q():
> q() Salva immagine dello spazio di lavoro? [s/n/c]: y
L'estensione dei file di R è .R.
Prossimamente creiamo un file w3codebox-test.R: il codice è il seguente:
Prossimamente eseguiamo il script utilizzando Rscript nella finestra del prompt dei comandi:
Rscript w3codebox-test.R
I risultati dell'output sono i seguenti:
[1] "w3codebox"
print() è la funzione di output del linguaggio R.
Come altre lingue di programmazione, R supporta l'output di numeri, caratteri e altro.
La frase di output è molto semplice:
print("w3codebox") print(123) print(3e2)
執行結果:
[1] "w3codebox" [1] 123 [1] 300
Come node.js e Python, il linguaggio R è un linguaggio interpretato, quindi spesso possiamo utilizzare il linguaggio R come se fosse una riga di comando.
Se inseriamo un valore in una riga, R lo standardizzerà direttamente e lo esporterà:
> 5e-2 [1] 0.05
Se è necessario concatenare i risultati dell'output, possiamo utilizzare la funzione cat():
> cat(1, "+", 1, "=", 2, '\n') 1 + 1 = 2
La funzione cat() aggiunge automaticamente uno spazio tra ogni due elementi concatenati.
I metodi di output dei file in R sono molto vari e molto facili da usare.
La funzione cat() supporta l'output diretto dei risultati in un file:
cat("w3codebox", file="/Users/w3codebox/w3codebox-test/r_test.txt")
Questa istruzione non produrrà alcun risultato sulla console, ma esporterà "w3codebox" nel file "/Users/w3codebox/w3codebox-test/r_test.txt".
Il parametro file può essere un percorso assoluto o relativo, si consiglia di utilizzare il percorso assoluto, il formato del percorso Windows è D:\\r_test.txt.
cat("w3codebox", file="D:\\r_test.txt")
Attenzione: questa operazione è "sovrascrittura in scrittura", utilizzala con cautela poiché cancellerà i dati originali del file di output. Se desideri "aggiungere in scrittura", non dimenticare di impostare il parametro append:
cat("GOOGLE", file="/Users/w3codebox/w3codebox-test/r_test.txt", append=TRUE)
Apri il file r_test.txt dopo aver eseguito il codice sopra, il contenuto del file è come segue:
w3codeboxGOOGLE
La funzione sink può scrivere direttamente il testo dell'output del terminale nel file:
sink("/Users/w3codebox/w3codebox-test/r_test.txt")
Dopo l'esecuzione di questa istruzione, qualsiasi output del terminale verrà scritto nel file "/Users/w3codebox/w3codebox-test/r_test.txt", il terminale non mostrerà l'output.
Attenzione: questa operazione è anche un'operazione di "sovrascrittura", che cancellerà direttamente il contenuto del file esistente.
Se si desidera mantenere l'output del terminale, è possibile impostare l'attributo split:
sink("/Users/w3codebox/w3codebox-test/r_test.txt", split=TRUE)
Se si desidera annullare l'output nel file, è possibile chiamare sink senza parametri:
sink()
sink("r_test.txt", split=TRUE) # L'output sul terminale è anche eseguito for (i in 1:5) print(i) sink() # Annulla l'output nel file sink("r_test.txt", append=TRUE) # Non eseguire l'output sul terminale, scrivere in appendita nel file print("w3codebox")
Eseguendo il codice sopra, verrà creato un file r_test.txt nella directory corrente, aprendo il contenuto del file come segue:
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] "w3codebox"
L'output del terminale è:
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5
Possiamo associare C linguaggio scanf, Java java.util.Scanner, se hai studiato Python potresti essere più familiare con la funzione input(). Tuttavia, il linguaggio R, essendo un linguaggio interpretativo, è più simile a alcuni linguaggi di script terminali (come bash o PowerShell), che si basano su un sistema di comandi e necessitano di input e output e non sono adatti per lo sviluppo di applicazioni orientate agli utenti (poiché sono progettati per l'uso degli utenti finali). Pertanto, il linguaggio R non ha una funzione specifica per leggere dal terminale, l'inserimento di testo è sempre stato in corso nell'uso di R.
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"