Como adicionar Observações para um quadro de dados em R

Como o tempo passa, novos dados podem aparecer e precisa ser adicionado ao conjunto de dados em R. Assim como matrizes, quadros de dados pode ser anexado usando o rbind ()

função.

Adicionando uma única observação

Dizer que a avó e Geraldine jogou outro jogo com sua equipe, e você deseja adicionar o número de cestas que eles fizeram. o rbind () função permite fazer isso facilmente:

> resultado lt; - rbind (baskets.df, c (7, 4))> resultGranny Geraldine1st 12 52 4 43 5 24 6 45 9126 3 977 4

A estrutura de dados resultado tem agora uma observação adicional em comparação com baskets.df. rbIND () pode levar vários argumentos, desde que eles são compatíveis. Neste caso, você liga um vector C (7, 4) na parte inferior do quadro de dados.

Note-se que R, por padrão, define o número de linha como o nome da linha para as linhas adicionadas. Você usa o rownames () função para ajustar isso, ou você pode especificar imediatamente o nome da linha entre aspas no rbind () função:

> baskets.df lt; - rbind (baskets.df, # 147-7th # 148- = C (7, 4))

Observe que você deve usar aspas em torno de 7º, porque começa com um número. Sem aspas, R não reconhecê-lo como um nome. Se você verificar o objeto baskets.df Agora, você vê a observação extra do fundo com o nome da linha correta:

> Baskets.dfGranny Geraldine1st 12 52 4 43 5 24 6 45 9126 3 97th 7 4

Alternativamente, você pode usar indexação para adicionar uma observação extra. Continue lendo para ver como.

Adicionando uma série de novas observações usando rbind

Se você precisar adicionar várias novas observações a um quadro de dados, fazendo-o um-por-um não é inteiramente prático. Felizmente, você pode usar rbind () para anexar uma matriz ou um quadro de dados com novas observações à estrutura de dados original. A correspondência das colunas é feita por nome, então você precisa se certificar de que as colunas na matriz ou as variáveis ​​do quadro de dados com novas observações coincidir com os nomes das variáveis ​​na estrutura de dados original.

Vamos adicionar mais dois resultados dos jogos para a trama de dados baskets.df. Primeiro, você construir um novo quadro de dados com o número de cestas Granny e Geraldine marcou, como este:

> new.baskets lt; - data.frame (Granny = C (3, 8), Geraldine = C (9, 4))

Se você usar o quadro de dados() função para construir um novo quadro de dados, você pode definir imediatamente os nomes das variáveis ​​especificando-os na chamada de função, como no exemplo anterior. Esse código cria um quadro de dados com as variáveis ​​da avó e Geraldine onde cada variável contém o vector dado após o sinal de igual.

Para ser capaz de se ligar a trama de dados new.baskets ao original baskets.df, você tem que certificar-se de que os nomes de variáveis ​​corresponder exatamente, incluindo o caso.

Em seguida, adicione os nomes de linha opcionais e os nomes das colunas necessárias com o seguinte código:

> rownames (new.baskets) lt; - c (# 147-8th # 148-, # 147-9th # 148-)

Para adicionar a matriz para o quadro de dados, basta fazer o seguinte:

> baskets.df lt; - rbind (baskets.df, new.baskets)

Você pode tentar-se a fazer a mesma coisa usando um quadro de dados em vez de uma matriz.

Adicionando uma série de valores usando índices

Você também pode usar os índices para adicionar um conjunto de novas observações de uma só vez. Você exatamente o mesmo resultado se você mudar todo o código anterior por esta linha simples:

> Baskets.df [c (# 147-8th # 148-, # 147-9th # 148-),] lt; - matriz (C (3, 8, 9, 4), Ncol = 2)

Com este código, faça o seguinte:

  • Criar uma matriz com duas colunas.

  • Criar um vetor com os nomes de linha e 9o.

  • Utilize este vector como índices de fileira para o quadro de dados baskets.df.

  • Atribuir os valores na matriz de linhas com os nomes e 9o. Porque estas linhas não existe ainda, R cria-las automaticamente.

Na verdade, você não precisa para construir a matriz de primeira você pode apenas usar um vetor vez. Exatamente como com matrizes, quadros de dados são preenchidos coluna-wise. Assim, o código a seguir dá-lhe exactamente o mesmo resultado:

> Baskets.df [c (# 147-8th # 148-, # 147-9th # 148-),] lt; - C (3, 8, 9, 4)

Este processo funciona apenas para os quadros de dados, no entanto. Se você tentar fazer a mesma coisa com matrizes, você obterá um erro. No caso de matrizes, você só pode usar índices que já existem no objeto original.

Você tem várias opções igualmente válidas para adicionar observações a um quadro de dados. Qual opção você escolhe depende da sua escolha pessoal e da situação. Se você tem um quadro matriz ou de dados com observações adicionais, você pode usar rbind (). Se você tem um vetor com nomes de linha e um conjunto de valores, utilizando os índices pode ser mais fácil.

menu