Quadro de dados R: como criar, anexar, selecionar e subconjunto
O que รฉ um quadro de dados?
A 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รฉricos, caracteres, fatores, etc.).
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 R 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 juntar
- stringsAsFactors: Converte string em fator por padrรฃo
Podemos criar um dataframe em R para nosso primeiro conjunto de dados combinando quatro variรกveis โโdo mesmo comprimento.
# Create a, b, c, d variables
a <- 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 frame
df <- data.frame(a,b,c,d)
df
Saรญda:
## a b c d ## 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
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 criaรงรฃo de dataframe do R abaixo:
# Name the data frame
names(df) <- c('ID', 'items', 'store', 'price')
df
Saรญda:
## 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 structure str(df)
Saรญda:
## '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.
Quadro de dados de fatia
ร possรญvel fatiar valores de um quadro de dados. Selecionamos as linhas e colunas para retornar aos colchetes precedidas do 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 o filas, e a parte certa รฉ a colunas. Observe que o sรญmbolo : significa para. Por exemplo, 1:3 pretende selecionar valores de 1 para 3.
No diagrama abaixo, mostramos como acessar diferentes seleรงรตes do quadro de dados:
- A seta amarela seleciona o linha 1 em coluna 2
- A seta verde seleciona o linhas 1 a 2
- A seta vermelha seleciona o coluna 1
- A seta azul seleciona o 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 direita em branco, R selecionarรก todas as colunas.
Podemos executar o cรณdigo no console:
## Select row 1 in column 2 df[1,2]
Saรญda:
## [1] book ## Levels: book pen pencil_case textbook
## Select Rows 1 to 2 df[1:2,]
Saรญda:
## ID items store price ## 1 10 book TRUE 2.5 ## 2 20 pen FALSE 8.0
## Select Columns 1 df[,1]
Saรญda:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4 df[1:3, 3:4]
Saรญda:
## store price ## 1 TRUE 2.5 ## 2 FALSE 8.0 ## 3 TRUE 10.0
Tambรฉm รฉ possรญvel selecionar as colunas pelos seus nomes. Por exemplo, o cรณdigo abaixo extracPossui duas colunas: ID e loja.
# Slice with columns name
df[, c('ID', 'store')]
Saรญda:
## 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 vector quantity <- c(10, 35, 40, 5) # Add `quantity` to the `df` data frame df$quantity <- quantity df
Saรญda:
## 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 frame df$quantity <- quantity
Dรก erro:
Error in ` lt;-.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 operaรงรตes em uma coluna. Podemos usar o sinal $ para selecionar a coluna de um quadro de dados.
# Select the column ID df$ID
Saรญda:
## [1] 1 2 3 4
Subconjunto de um quadro de dados
Na seรงรฃo anterior, selecionamos uma coluna inteira sem condiรงรฃo. ร possรญvel subconjunto 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 artigos com preรงo acima de 10, podemos fazer:
# Select price above 5 subset(df, subset = price > 5)
Saรญda:
ID items store price 2 20 pen FALSE 8 3 30 textbook TRUE 10 4 40 pencil_case FALSE 7


