English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

语法基础R

El aprendizaje de un nuevo lenguaje generalmente comienza con el programa de salida "Hello, World!", y el código del programa "Hello, World!" del lenguaje R es el siguiente:

myString <- "Hello, World!"
print ( myString )

El siguiente ejemplo asigna la cadena "Hello, World!" a la variable myString y luego la imprime utilizando la función print()

注意:La asignación de valores en el lenguaje R utiliza la flecha izquierda <- símbolo, aunque algunas versiones nuevas también admiten el símbolo de igualdad =.

Variable

El nombre de las variables válidas del lenguaje R se compone de letras, números y puntos . o subrayados _.

El nombre de la variable comienza con una letra o un punto.

Nombre de la variable¿Es correcto?Razón
var_name2.CorrectoComienza con un carácter y está compuesto por letras, números, subrayados _ y puntos .
var_name%Error% es un carácter ilegal
2var_nameErrorNo puede comenzar con un número

.var_name,

var.name

CorrectoPuede comenzar con un punto, pero debe tener en cuenta que después del punto no puede seguir un número
.2var_nameErrorDespués del punto, no puede seguir un número
_var_nameErrorNo puede comenzar con el subrayado _

Asignación de variables

La versión más reciente del lenguaje de programación R permite la asignación de valores utilizando la flecha izquierda <-、igual a、flecha hacia la derecha -> Asignación:

# Usar el signo de igualdad = para asignar
> var.1 = c(0,1,2,3)           
> print(var.1)
[1] 0 1 2 3
# Usar la flecha hacia la izquierda <-Asignación
> var.2 <- c("aprender","R")   
> print(var.2)
[1] "aprender" "R"
    
# Usar la flecha hacia la derecha <- Asignación
> c(TRUE,1) -> var.3
> print(var.3)
[1] 1 1

Puede usar ls() para ver las variables definidas: ls(): Función:

> print(ls())
[1] "var.1"  "var.2"  "var.3"

Puede usar rm() para eliminar variables: rm(): Función:

> rm(var.3)
> print(ls())
[1] "var.1"  "var.2"
>

En el capítulo anterior ya hemos aprendido a instalar el entorno de programación de R, a continuación, les presentaremos la programación interactiva y el script de archivo del lenguaje R.

Programación interactiva

Solo necesitamos ejecutar el comando R en la línea de comandos para entrar en la ventana de programación interactiva:

R

Después de ejecutar este comando, se abrirá el intérprete de R, donde podemos ingresar código después del símbolo >.

Las órdenes interactivas pueden salirse ingresando q():

> q()
¿Guardar imagen del espacio de trabajo? [y/n/c]: y

Script de archivo

El archivo de lenguaje R tiene la extensión .R.

A continuación, creamos un archivo w3codebox-test.R archivo: el código es el siguiente:

w3codebox-test.R archivo

myString <- "w3codebox"
print ( myString )

A continuación, ejecutamos el script usando Rscript en la ventana de la línea de comandos:

Rscript w3codebox-test.R

El resultado de la salida es el siguiente:

[1] "w3codebox"

Entrada y salida

La salida de print():

La función print() es la función de salida del lenguaje R.

Como otros lenguajes de programación, R admite la salida de números, caracteres, etc.

La expresión de salida es muy simple:

print("w3codebox")
print(123)
print(3e2)

结果执行:

[1] "w3codebox"
[1] 123
[1] 300

R es un lenguaje interpretativo, como node.js y Python, por lo que a menudo podemos usar R de la misma manera que una línea de comandos.

Si introducimos un valor en una sola línea, R también lo normalizará y lo saldrá directamente:

> 5e-2
[1] 0.05

La función cat():

Si necesitamos concatenar la salida de resultados, podemos usar la función cat():

> cat(1, "sumar", 1, "igual a", 2, \
")
1 Sumar 1 Igual a 2

La función cat() agrega automáticamente un espacio entre cada dos elementos concatenados.

Salida de contenido a un archivo

El método de salida a un archivo en R es muy diverso y fácil de usar.

La función cat() admite la salida directa de resultados a un archivo:

El parámetro file puede ser una ruta absoluta o relativa, se recomienda usar una ruta absoluta, el formato de ruta de Windows es D:\\r_test.txt.3codebox", file="/Users/w3codebox/w3codebox-test/r_test.txt")

Esta oración no produce resultados en la consola, sino que coloca "w3codebox" 输出到 "/Users/w3codebox/w3codebox-test/codebox" se exporta a "

El archivo "r_test.txt".

El parámetro file puede ser una ruta absoluta o relativa, se recomienda usar una ruta absoluta, el formato de ruta de Windows es D:\\r_test.txt.3cat("w

codebox", file="D:\\r_test.txt")

Nota: Esta operación es una operación de "sobreescritura", usa con precaución, ya que eliminará los datos originales del archivo. Si deseas "agregar" (append), no olvides configurar el parámetro append:/Users/w3codebox/w3codebox-test/cat("GOOGLE", file="

Después de ejecutar el código anterior, abre el archivo r_test.txt y observa el contenido siguiente:

w3codeboxGOOGLE

sink()

La función sink puede escribir directamente la salida de la consola en un archivo:

sink("/Users/w3codebox/w3codebox-test/r_test.txt")

Después de ejecutar esta instrucción, cualquier salida en la consola se escribirá en el archivo "/Users/w3codebox/w3codebox-test/El archivo "r_test.txt" no se mostrará en la consola.

Nota: Esta operación es una operación de "sobreescritura", que borrará directamente el contenido original del archivo. Si deseas "agregar" (append), no olvides configurar el parámetro append:

Si还想保留控制台的输出,可以设置 split atributo:

sink("/Users/w3codebox/w3codebox-test/sink("r_test.txt", split=TRUE)

Si deseas cancelar la salida al archivo, puedes llamar a sink sin parámetros:

sink()
sink("r_test.txt", split=TRUE) # La salida también se muestra en la consola
for (i in 1:5) 
    print(i)
sink() # Cancelar la salida al archivo
sink("r_test.txt", append=TRUE) # No se muestra en la consola, se escribe en el archivo
print("w3codebox")

Ejecuta el código anterior y se creará un archivo r_test.txt en la carpeta actual. Abre el archivo y observa el contenido siguiente:

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] "w3codebox"

La salida en la consola es:

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

Entrada de texto

Podríamos asociar C con scanf, Java con java.util.Scanner, y si has estudiado Python, probablemente te suene la función input(). Sin embargo, R es un lenguaje interpretativo, más parecido a algunos lenguajes de script de terminal (como bash o PowerShell), que se basan en un sistema de comandos y que necesitan entrada y salida, y no son adecuados para desarrollar aplicaciones orientadas al usuario (ya que están diseñados para el uso final del usuario). Por lo tanto, R no tiene una función específica para leer de la consola, y la entrada de texto se ha estado realizando en R desde su uso.

文字读入文件从

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"