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

数据框R

El Data Frame (Data frame) se puede entender como la "tabla" común.

El Data Frame es una estructura de datos en R, es una lista bidimensional especial.

Cada columna del Data Frame tiene un nombre único, la longitud es igual, el tipo de datos de la columna debe ser consistente, los tipos de datos de diferentes columnas pueden ser diferentes.

R Data Frame se crea utilizando la función data.frame(), el formato de sintaxis es el siguiente:

data.frame(…, row.names = NULL, check.rows = FALSE,
           check.names = TRUE, fix.empty.names = TRUE,
           stringsAsFactors = default.stringsAsFactors())
  • ...: Vector de columnas, puede ser de cualquier tipo (característico, numérico, lógico), generalmente se representa en forma de tag = value, también puede ser value.

  • row.names: El nombre de la fila, por defecto NULL, puede establecerse como un número individual, una cadena o un vector de cadenas y números.

  • check.rows: Detecta si los nombres de las filas y la longitud son consistentes.

  • check.names: Detecta si los nombres de las variables de la tabla de datos son válidos.

  • fix.empty.names: Establece si los parámetros sin nombre se configuran automáticamente con nombres.

  • stringsAsFactors: Booleano, si los caracteres se convierten en factores, factory-El valor predeterminado de fresh es TRUE, se puede modificar configurando la opción (stringsAsFactors=FALSE).

A continuación, se crea una tabla de datos simple que contiene nombre, N° de empleado, salario:

table = data.frame(
    nombre = c("Zhang San", "Li Si"),
    Número de empleado = c("001","002
    Salario = c(1000, 2000)
    
)
print(table) # Ver datos de table

执行以上代码输出结果为:

Nombre Número de empleado Salario
1 Zhang San  001 1000
2 Li Si  002 2000

La estructura de datos de la tabla de datos se puede obtener a través de str() La función para mostrar es:

table = data.frame(
    nombre = c("Zhang San", "Li Si"),
    Número de empleado = c("001","002
    Salario = c(1000, 2000)
)
# Obtener estructura de datos
str(table)

执行以上代码输出结果为:

'data.frame':   2 obs. of  3 variables:
 $ Nombre: chr  "Zhang San" "Li Si"
 $ N° de empleado: chr  "001" "002"
 $ Salario mensual: num  1000 2000

summary() Se puede mostrar la información resumida de la tabla de datos:

table = data.frame(
    nombre = c("Zhang San", "Li Si"),
    Número de empleado = c("001","002
    Salario = c(1000, 2000)
    
)
# Mostrar resumen
print(summary(table))

执行以上代码输出结果为:

Nombre  N° de empleado  Salario mensual     
Longitud:2           Longitud:2           Mín. :1000  
Clase :carácter Clase :carácter   1st Qu.:1250  
Modo :carácter Modo :carácter Mediana :1500  
                                      Promedio :1500  
                                      3rd Qu.:1750  
                                      Máx. :2000

También podemos extraer columnas específicas:

table = data.frame(
    nombre = c("Zhang San", "Li Si"),
    Número de empleado = c("001","002
    Salario = c(1000, 2000)
)
# Extraer columnas específicas
result <- data.frame(table$nombre,table$salario)
print(result)

执行以上代码输出结果为:

table.nombre table.salario
1       Zhang San       1000
2       Li Si       2000

Las dos primeras filas se muestran en la siguiente forma:

table = data.frame(
    Nombre = c("Zhang San", "Li Si","Wang Wu"),
    Número de empleado = c("001","002","003
    Salario = c(1000, 2000,3000)
)
print(table)
# Extraer las dos primeras filas
print("---Salida de las dos primeras filas----)",
result <- table[1:2,]
print(result)

执行以上代码输出结果为:

Nombre Número de empleado Salario
1 Zhang San  001 1000
2 Li Si  002 2000
3 Wang Wu  003 3000
[1] "---Salida de las dos primeras filas----"
  Nombre Número de empleado Salario
1 Zhang San  001 1000
2 Li Si  002 2000

Podemos leer los datos de una columna específica de una fila específica de la tabla en una forma similar a un sistema de coordenadas, a continuación, leemos el renglón 2 、3 # Leer el renglón 1 、2 Datos de columna::

table = data.frame(
    Nombre = c("Zhang San", "Li Si","Wang Wu"),
    Número de empleado = c("001","002","003
    Salario = c(1000, 2000,3000)
)
# Leer el renglón 2 、3 # Leer el renglón 1 、2 Datos de columna:
result <- table[c(2,3),c(1,2)]
print(result)

执行以上代码输出结果为:

Nombre N° de empleado
2 Li Si  002
3 Wang Wu  003

Expandir tabla de datos

Podemos expandir la tabla de datos existente, en el siguiente ejemplo agregamos una columna de departamento:

table = data.frame(
    Nombre = c("Zhang San", "Li Si","Wang Wu"),
    Número de empleado = c("001","002","003
    Salario = c(1000, 2000,3000)
)
# Agregar columna de departamento
table$departamento <- c("Operación","Técnico","Edición")
print(table)

执行以上代码输出结果为:

Nombre N° de empleado Salario mensual Departamento
1 Zhang San  001 1000 Operación
2 Li Si  002 2000 技术
3 Wang Wu  003 3000 编辑

我们可以使用 cbind() 函数将多个向量合成一个数据框:

# 创建向量
sites <- c("Google","w3codebox","Taobao")
likes <- c(222,111,123)
url <- c("www.google.com","es.oldtoolbag.com,"www.taobao.com")
# 将向量组合成数据框
addresses <- cbind(sites,likes,url)
# 查看数据框
print(addresses)

执行以上代码输出结果为:

     sitios  me gusta url             
[1,] "Google" "222" "www.google.com"
[2,] "w3codebox "111" "es.oldtoolbag.com"
[3,] "Taobao" "123" "www.taobao.com"

如果要对两个数据框进行合并可以使用 rbind() 函数:

table = data.frame(
    Nombre = c("Zhang San", "Li Si","Wang Wu"),
    Número de empleado = c("001","002","003
    Salario = c(1000, 2000,3000)
)
newtable = data.frame(
    Nombre = c("Xiao Ming", "Principiante"),
    Número de empleado = c("101102
    Salario = c(5000, 7000)
)
# 合并两个数据框
result <- rbind(table,newtable)
print(result)

执行以上代码输出结果为:

Nombre Número de empleado Salario
1 Zhang San  001 1000
2 Li Si  002 2000
3 Wang Wu  003 3000
4 Xiao Ming  101 5000
5 Principiante  102 7000