R Data Frame: Como criar, acrescentar, selecionar & Subconjunto

Índice:

Anonim

O que é um quadro de dados?

Um quadro de dados é uma lista de vetores de igual comprimento. Uma matriz contém apenas um tipo de dados, enquanto um quadro de dados aceita diferentes tipos de dados (numérico, caractere, fator, etc.).

Neste tutorial, você aprenderá-

  • O que é um quadro de dados?
  • Como criar um quadro de dados
  • Anexar uma coluna ao quadro de dados
  • Selecione uma coluna de um quadro de dados
  • Subconjunto de um quadro de dados

Como criar um quadro de dados

Podemos criar um dataframe em R passando a variável a, b, c, d para a função data.frame (). Podemos criar dataframe e nomear as colunas com name () e simplesmente especificar o nome das variáveis.

data.frame(df, stringsAsFactors = TRUE)

Argumentos :

  • df : pode ser uma matriz para converter como um quadro de dados ou uma coleção de variáveis ​​para unir
  • stringsAsFactors : converte string em fator por padrão

Podemos criar um dataframe em R para nosso primeiro conjunto de dados combinando quatro variáveis ​​de mesmo comprimento.

# Create a, b, c, d variablesa <- c(10,20,30,40)b <- c('book', 'pen', 'textbook', 'pencil_case')c <- c(TRUE,FALSE,TRUE,FALSE)d <- c(2.5, 8, 10, 7)# Join the variables to create a data framedf <- data.frame(a,b,c,d)df

Resultado:

## a b c d## 1 1 book TRUE 2.5## 2 2 pen TRUE 8.0## 3 3 textbook TRUE 10.0## 4 4 pencil_case FALSE 7.0

Podemos ver que os cabeçalhos das colunas têm o mesmo nome das variáveis. Podemos alterar o nome da coluna em R com os nomes da função (). Verifique o exemplo de dataframe R create abaixo:

# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df

Resultado:

## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0## 3 30 textbook TRUE 10.0## 4 40 pencil_case FALSE 7.0
# Print the structurestr(df)

Resultado:

## 'data.frame': 4 obs. of 4 variables:## $ ID : num 10 20 30 40## $ items: Factor w/ 4 levels "book","pen","pencil_case",… : 1 2 4 3## $ store: logi TRUE FALSE TRUE FALSE## $ price: num 2.5 8 10 7

Por padrão, o quadro de dados retorna variáveis ​​de string como um fator.

Slice Data Frame

É possível SLICE os valores de um Data Frame. Selecionamos as linhas e colunas para retornar ao colchete precedidas pelo nome do quadro de dados.

Um quadro de dados é composto de linhas e colunas, df [A, B]. A representa as linhas e B as colunas. Podemos fatiar especificando as linhas e / ou colunas.

Na figura 1, a parte esquerda representa as linhas e a parte direita são as colunas . Observe que o símbolo: significa para . Por exemplo, 1: 3 pretende selecionar valores de 1 a 3.

No diagrama abaixo, mostramos como acessar diferentes seleções do quadro de dados:

  • A seta amarela seleciona a linha 1 na coluna 2
  • A seta verde seleciona as linhas 1 a 2
  • A seta vermelha seleciona a coluna 1
  • A seta azul seleciona as linhas 1 a 3 e colunas 3 a 4

Observe que, se deixarmos a parte esquerda em branco, R selecionará todas as linhas . Por analogia, se deixarmos a parte certa em branco, R selecionará todas as colunas .

Podemos executar o código no console:

## Select row 1 in column 2df[1,2]

Resultado:

## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]

Resultado:

## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]

Resultado:

## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]

Resultado:

## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0

Também é possível selecionar as colunas com seus nomes. Por exemplo, o código abaixo extrai duas colunas: ID e loja.

# Slice with columns namedf[, c('ID', 'store')]

Resultado:

## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE

Anexar uma coluna ao quadro de dados

Você também pode anexar uma coluna a um quadro de dados. Você precisa usar o símbolo $ para anexar a variável R do dataframe e adicionar uma coluna a um dataframe em R.

# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf

Resultado:

## ID items store price quantity## 1 10 book TRUE 2.5 10## 2 20 pen FALSE 8.0 35## 3 30 textbook TRUE 10.0 40## 4 40 pencil_case FALSE 7.0 5

Nota: O número de elementos no vetor deve ser igual ao número de elementos no quadro de dados. Executando a seguinte instrução para adicionar coluna ao dataframe R

quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity

Dá erro:

Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4 

Selecione uma coluna de um quadro de dados

Às vezes, precisamos armazenar uma coluna de um quadro de dados para uso futuro ou realizar uma operação em uma coluna. Podemos usar o sinal $ para selecionar a coluna de um quadro de dados.

# Select the column IDdf$ID

Resultado:

## [1] 1 2 3 4

Subconjunto de um quadro de dados

Na seção anterior, selecionamos uma coluna inteira sem condição. É possível subdividir com base no fato de uma determinada condição ser verdadeira ou não.

Usamos a função subset ().

subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement

Queremos devolver apenas os itens com preço acima de 10, podemos fazer:

# Select price above 5subset(df, subset = price > 5)

Resultado:

ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7