Anexando a uma Lista R, um por um

Souradeep

Digamos que tenho dados como:

> data[295:300,]
          Date sulfate nitrate ID
295 2003-10-22      NA      NA  1
296 2003-10-23      NA      NA  1
297 2003-10-24    3.47   0.363  1
298 2003-10-25      NA      NA  1
299 2003-10-26      NA      NA  1
300 2003-10-27      NA      NA  1

Agora eu gostaria de adicionar todos os nitratevalores em uma nova lista / vetor. Estou usando o seguinte código:

i <- 1
my_list <- c()

for(val in data)
{
    my_list[i] <- val
    i <- i + 1
}

Mas é o que acontece:

Warning message:
In x[i] <- val :
  number of items to replace is not a multiple of replacement length
> i
[1] 2
> x
[1] NA

Onde eu estou errando? Os dados fazem parte de um curso de Programação do Coursera R. Posso garantir que esta não é uma tarefa / teste. Tenho tentado entender qual é a melhor maneira de anexar elementos em uma lista com um loop. Não avancei para o curso lapplyou sapplyparte dele, portanto, estou pensando em soluções alternativas.

Desde já, obrigado.

Se for uma pergunta duplicada, direcione-me a ela.

Therkel

Como mencionamos nos comentários, você não está percorrendo as linhas de seu quadro de dados, mas as colunas (às vezes também variáveis). Portanto, faça um loop data$nitrate.

i <- 1
my_list <- c()

for(val in data$nitrate)
{
    my_list[i] <- val
    i <- i + 1
}

Agora, em vez de fazer um loop sobre seus valores, a melhor maneira é usar que você deseja que o novo vetor e os dados antigos tenham o mesmo índice, então faça um loop sobre o índice i. Como você diz a R quantos índices existem? Aqui você tem várias opções de novo: 1:nrow(data), 1:length(data$nitrate)e várias outras maneiras. A seguir, forneci alguns exemplos de como extrair do quadro de dados.

my_vector <- c()
for(i in 1:nrow(data)){
    my_vector[i] <- data$nitrate[i]    ## Version 1 of extracting from data.frame
    my_vector[i] <- data[i,"nitrate"]  ## Version 2: [row,column name]
    my_vector[i] <- data[i,3]          ## Version 3: [row,column number]
}

Minha sugestão: em vez de chamar a coleção de lista, chame-a de vetor, pois é isso que ela é. Vetores e listas se comportam de maneira um pouco diferente em R.


É claro que, na realidade, você não deseja obter os dados um por um. Uma maneira muito mais eficiente de retirar seus dados é

my_vector2 <- data$nitrate

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Anexando uma lista em um loop (R)

Anexando um item de uma lista a outra

Anexando um char a uma lista vazia

Anexando um char a uma lista vazia

Anexando a uma lista dentro de um fluxo a um mapa

Anexando um dicionário a uma lista em um loop Python

DynamoDB: anexando um elemento a uma lista usando Node.js

Anexando a entrada do usuário a uma lista em um loop

Anexando um elemento ao final de uma lista em Scala

Classes Python: anexando uma lista e incorporando um método

Anexando lista de um loop for

Anexando a um acesso de array por uma chave no Redux Reducer

Anexando um valor de uma lista a uma lista vazia em python

Anexando um vetor em R

Anexando um vetor em R

python: anexando um dicionário a uma lista - vejo um ponteiro como o comportamento

Faça uma lista em um dicionário, indexada por um rótulo na lista

Anexando a um DataFrame linha por linha, usando um loop for e uma instrução if

alterar dados em um dataframe por uma porcentagem em uma lista coluna por coluna em R

Python 2.7: anexando a um valor de lista de uma chave de dicionário

É possível ter um dicionário aninhado usando setdefault, anexando a uma lista?

Raspador da Wikipedia Encontrando uma lista de artigos e anexando-os a um dataframe Python

Anexando um conjunto de dados diferente a UMA lista a cada iteração

Anexando uma linha de números / um vetor a uma coluna existente de uma matriz em R

Anexando, usando '+', uma String vs um char

Anexando uma matriz com um loop for

Anexando um "0" à frente de uma string

Anexando uma nova referência a um array?

Por que um `for` em uma lista Python é mais rápido do que em um array Numpy?

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    UITextView não está exibindo texto longo

  3. 3

    Dependência circular de diálogo personalizado

  4. 4

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  5. 5

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  6. 6

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  7. 7

    Setas rotuladas horizontais apontando para uma linha vertical

  8. 8

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  9. 9

    Definir um clipe em uma trama nascida no mar

  10. 10

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  11. 11

    Como dinamizar um Dataframe do pandas em Python?

  12. 12

    regex para destacar novos caracteres de linha no início e no fim

  13. 13

    Why isn't my C# .Net Core Rest API route finding my method?

  14. 14

    Como obter a entrada de trás de diálogo em treeview pyqt5 python 3

  15. 15

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  16. 16

    How to create dynamic navigation menu select from database using Codeigniter?

  17. 17

    Como recuperar parâmetros de entrada usando C #?

  18. 18

    Changing long, lat values of Polygon coordinates in python

  19. 19

    Livros sobre criptografia do muito básico ao muito avançado

  20. 20

    Método \ "POST \" não permitido no framework Django rest com ações extras & ModelViewset

  21. 21

    Pesquisa classificada, conte números abaixo do valor desejado

quentelabel

Arquivo