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

Data Frame em R

O frame de dados (Data frame) pode ser compreendido como a 'tabela' que costumamos usar.

O frame de dados é uma estrutura de dados do R, é uma lista bidimensional especial.

Cada coluna do frame de dados tem um nome único, a comprimento é igual, o tipo de dados da mesma coluna deve ser consistente, os tipos de dados de diferentes colunas podem ser diferentes.

O R idioma de dados de frame é criado usando a função data.frame(), a forma de sintaxe é como segue:

data.frame(…, row.names = NULL, check.rows = FALSE,
           check.names = TRUE, fix.empty.names = TRUE,
           stringsAsFactors = default.stringsAsFactors())
  • ...: Vetor de colunas, pode ser de qualquer tipo (característico, numérico, lógico), geralmente representado na forma tag = value, também pode ser value.

  • row.names: O nome da linha, padrão é NULL, pode ser configurado como um número único, uma string ou um vetor de string e número.

  • check.rows: Verifica se o nome das linhas e o comprimento são consistentes.

  • : Verifica se o nome das linhas e o comprimento são consistentes.check.names

  • : Verifica se os nomes das variáveis do conjunto de dados são válidos.fix.empty.names

  • : Define se os parâmetros não nomeados são automaticamente nomeados.stringsAsFactors-: Valor booleano, caractere é convertido para fator, factory

O valor padrão de fresh é TRUE, pode ser modificado ajustando a opção (stringsAsFactors=FALSE).

table = data.frame(
    Também podemos extrair colunas específicas:
    Número de Funcionário = c("001","002
    Salário = c(1000, 2000)
    
)
A seguir, criamos um conjunto de dados simples, contendo nome, Nº de funcionário, salário mensal:

O resultado da execução do código acima é:

Nome    Número de Funcionário    Salário
1 Zhang San    001 1000
2 Li Si    002 2000

print(table) # Ver dados table A estrutura de dados do conjunto de dados pode ser vista através de str()

table = data.frame(
    Também podemos extrair colunas específicas:
    Número de Funcionário = c("001","002
    Salário = c(1000, 2000)
)
função para exibir:
# Obter estrutura de dados

O resultado da execução do código acima é:

str(table)   2 'data.frame':  3 obs. of
 variables:
 $ Nome: chr  "Zhang San" "Li Si"1$ Nº de funcionário: chr  "002Output das duas primeiras linhas
 " "00  1000 2000

$ Salário mensal: num summary()

table = data.frame(
    Também podemos extrair colunas específicas:
    Número de Funcionário = c("001","002
    Salário = c(1000, 2000)
    
)
Pode mostrar informações resumidas do conjunto de dados:
# Mostrar resumo

O resultado da execução do código acima é:

print(summary(table))     
Nome Nome Nome Nome Nome Nº de funcionário Nº de funcionário Nº de funcionário Nº de funcionário Salário mensal Salário mensal Salário mensal Salário mensal2           Nome Nome Nome Nome Nome Nº de funcionário Nº de funcionário Nº de funcionário Nº de funcionário Salário mensal Salário mensal Salário mensal Salário mensal2           Tamanho:1000  
Mín.   :   1Classe (Class):caracter Classe (Class):caracter1250  
Quartil inferior (st):1500  
                                      Modo (Mode):caracter Modo (Mode):caracter Mediana (Median):1500  
                                      3Média (Mean):1750  
                                      Quartil superior (rd):2000

Máx.   :

table = data.frame(
    Também podemos extrair colunas específicas:
    Número de Funcionário = c("001","002
    Salário = c(1000, 2000)
)
nome = c("Zhang San", "Li Si"),
result <- # Extrair colunas específicas
print(result)

O resultado da execução do código acima é:

data.frame(table$nome,table$salário)
1       table.nome table.salário       1000
2       Zhang San       2000

Li Si

table = data.frame(
    Nome = c("Zhang San", "Li Si","Wang Wu"),
    Número de Funcionário = c("001","002","003
    Salário = c(1000, 2000,3000)
)
print(table)
A seguir, mostramos as duas primeiras linhas na seguinte forma:
# Extrair as duas primeiras linhas---] "----print("
result <- ))1table[2:
print(result)

O resultado da execução do código acima é:

Nome    Número de Funcionário    Salário
1 Zhang San    001 1000
2 Li Si    002 2000
3 Wang Wu    003 3000
[1,]---] "----Output das duas primeiras linhas
  Nome    Número de Funcionário    Salário
1 Zhang San    001 1000
2 Li Si    002 2000

" 2 、3 # Ler a linha 1 、2 Podemos ler os dados de uma coluna específica de uma linha específica de forma semelhante a um sistema de coordenadas, a seguir lemos a linha

table = data.frame(
    Nome = c("Zhang San", "Li Si","Wang Wu"),
    Número de Funcionário = c("001","002","003
    Salário = c(1000, 2000,3000)
)
Dados da coluna:: 2 、3 # Ler a linha 1 、2 Dados da coluna:
result <- table[c(2,3),c(1,2)]
print(result)

O resultado da execução do código acima é:

Nome Nº de funcionário
2 Li Si    002
3 Wang Wu    003

Expandir conjunto de dados

Podemos expandir o conjunto de dados existente, neste exemplo adicionamos a coluna de departamento:

table = data.frame(
    Nome = c("Zhang San", "Li Si","Wang Wu"),
    Número de Funcionário = c("001","002","003
    Salário = c(1000, 2000,3000)
)
# Adicionar coluna de departamento
table$departamento <- c("Operação","Técnico","Edição")
print(table)

O resultado da execução do código acima é:

Nome Nº de funcionário Salário mensal Departamento
1 Zhang San    001 1000 Operação
2 Li Si    002 2000    Tecnologia
3 Wang Wu    003 3000    Editar

Podemos usar cbind() Função que combina várias listas em um Data Frame:

# Criar vetores
sites <- c("Google","w3codebox","Taobao")
gostos <- c(222,111,123)
url <- c("www.google.com","pt.oldtoolbag.com,"www.taobao.com")
# Combinar vetores em Data Frame
addresses <- cbind(sites,likes,url)
# Ver Data Frame
print(addresses)

O resultado da execução do código acima é:

     sites        gostos      url             
[1,] "Google" "222"    www.google.com"
[2,] "w3codebox" "111"    pt.oldtoolbag.com"
[3,] "Taobao" "123"    www.taobao.com"

Se você quiser mesclar dois Data Frames, você pode usar rbind() Função:

table = data.frame(
    Nome = c("Zhang San", "Li Si","Wang Wu"),
    Número de Funcionário = c("001","002","003
    Salário = c(1000, 2000,3000)
)
newtable = data.frame(
    Nome = c("Xiao Ming", "Xiao Bai"),
    Número de Funcionário = c("101102
    Salário = c(5000, 7000)
)
# Mesclar dois Data Frames
result <- rbind(table,newtable)
print(result)

O resultado da execução do código acima é:

Nome    Número de Funcionário    Salário
1 Zhang San    001 1000
2 Li Si    002 2000
3 Wang Wu    003 3000
4 Xiao Ming  101 5000
5 Xiao Bai  102 7000