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