Manipulando Linhas
Assim como as colunas, as linhas em um data frame também podem ser adicionadas ou removidas.
Adição de Linhas Individuais
Para adicionar uma linha individual, é possível atribuir uma nova entrada ao próximo índice de linha disponível (nrow(data) + 1
). Como um data frame pode conter diferentes tipos de valores, a nova linha deve ser fornecida como uma lista (ou um data frame).
Por padrão, valores de texto podem ser convertidos em fatores ao criar data frames. Isso pode causar problemas ao adicionar novas linhas. Para evitar esse comportamento, defina stringsAsFactors = FALSE
ao criar o data frame.
Exemplo
123456789name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Add a new row test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') test
Adicionando Múltiplas Linhas
Outra forma de adicionar linhas é mesclando dois data frames com as mesmas colunas usando a função merge()
. Isso permite adicionar várias linhas de uma só vez.
Exemplo
123456789101112name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # New row as data a frame new_person <- data.frame('Angela', 35, 'F', 'Accountant') colnames(new_person) <- colnames(test) # Merge merge(test, new_person, all = T)
Removendo Linhas
Para remover linhas, utilize índices negativos dentro de colchetes, assim como em matrizes.
Exemplo
12345678name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Remove a row test[-1, ]
Swipe to start coding
Você possui um data frame store
que contém informações sobre itens, seus preços e as quantidades vendidas em uma pequena loja de móveis.
Sua tarefa é:
- Remover a linha
'Dining chair'
(índice 4) do data framestore
. Reatribua o resultado à variávelstore
. - Adicionar uma nova linha ao data frame
store
utilizando o métodolist
com os seguintes dados:
Item | Price | Sold |
---|---|---|
Kitchen cabinet | 70 | 67 |
- Exibir o data frame modificado.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain how the merge function works for adding rows?
What happens if the columns in the two data frames don't match?
How do I remove multiple rows at once from a data frame?
Awesome!
Completion rate improved to 2.27
Manipulando Linhas
Deslize para mostrar o menu
Assim como as colunas, as linhas em um data frame também podem ser adicionadas ou removidas.
Adição de Linhas Individuais
Para adicionar uma linha individual, é possível atribuir uma nova entrada ao próximo índice de linha disponível (nrow(data) + 1
). Como um data frame pode conter diferentes tipos de valores, a nova linha deve ser fornecida como uma lista (ou um data frame).
Por padrão, valores de texto podem ser convertidos em fatores ao criar data frames. Isso pode causar problemas ao adicionar novas linhas. Para evitar esse comportamento, defina stringsAsFactors = FALSE
ao criar o data frame.
Exemplo
123456789name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Add a new row test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') test
Adicionando Múltiplas Linhas
Outra forma de adicionar linhas é mesclando dois data frames com as mesmas colunas usando a função merge()
. Isso permite adicionar várias linhas de uma só vez.
Exemplo
123456789101112name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # New row as data a frame new_person <- data.frame('Angela', 35, 'F', 'Accountant') colnames(new_person) <- colnames(test) # Merge merge(test, new_person, all = T)
Removendo Linhas
Para remover linhas, utilize índices negativos dentro de colchetes, assim como em matrizes.
Exemplo
12345678name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Remove a row test[-1, ]
Swipe to start coding
Você possui um data frame store
que contém informações sobre itens, seus preços e as quantidades vendidas em uma pequena loja de móveis.
Sua tarefa é:
- Remover a linha
'Dining chair'
(índice 4) do data framestore
. Reatribua o resultado à variávelstore
. - Adicionar uma nova linha ao data frame
store
utilizando o métodolist
com os seguintes dados:
Item | Price | Sold |
---|---|---|
Kitchen cabinet | 70 | 67 |
- Exibir o data frame modificado.
Solução
Obrigado pelo seu feedback!
single