Programa R para Biologia da Conservação
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Como adicionar um vetor a um dataframe

2 participantes

Ir para baixo

Como adicionar um vetor a um dataframe Empty Como adicionar um vetor a um dataframe

Mensagem por Marcello Guerreiro Ter Out 31, 2017 5:43 pm

Prezado Marcos, Tudo Bem?

Gostaria de saber como posso adicionar um vetor a um dataframe, ou dizendo de outra forma, como adicionar uma coluna a uma tabela no R, considerando que a nova coluna já possui todos os dados.

Esta pergunta tem a seguinte origem, fiz ela da forma acima para ser mais genérico, mas o que quero fazer é o seguinte.

Rodei um modelo

Código:
read.table("mexilhao.txt", header = TRUE)
mechilhao <- read.table("mexilhao.txt", header = TRUE)
plot(mechilhao$salinidade,mechilhao$limnoperna,xlab="Salinidade",ylab="Limnoperna (0 e 1)", col="red")
modelo<-glm(limnoperna~salinidade,data=mechilhao,family=binomial)
modelo
plot(modelo)
summary(modelo)
plot(mechilhao$salinidade,mechilhao$limnoperna,xlab="Salinidade",ylab="Limnoperna (0 e 1) e Prob. Sobrevivência de Limnoperna (curva)",col="red")
curve((exp(4.7169-0.5007*x))/(1+(exp(4.7169-0.5007*x))),add=T,col="blue",lwd=2)
par(mfrow=c(2,2))
plot(modelo,which=c(1,2,3,4))
names(modelo)
modelo$R
modelo$model
modelo$fitted.values

O resultado do modelo, ou melhor os valores estimados do modelo ou "fitted.values", eu gostaria de acrescentar a tabela original para assim ir acrescentando novos resultados de modelos e poder comparar os resultados

Como fazer isso, acredito ser simples?
Marcello Guerreiro
Marcello Guerreiro

Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 45
Localização : Rio de Janeiro

Ir para o topo Ir para baixo

Como adicionar um vetor a um dataframe Empty Re: Como adicionar um vetor a um dataframe

Mensagem por Marcello Guerreiro Ter Out 31, 2017 6:01 pm

Resolvido, o comando cbind, faz isso, como no código abaixo
Código:
cbind(mechilhao, modelo$fitted.values)

Obrigado
Marcello Guerreiro
Marcello Guerreiro

Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 45
Localização : Rio de Janeiro

Ir para o topo Ir para baixo

Como adicionar um vetor a um dataframe Empty Re: Como adicionar um vetor a um dataframe

Mensagem por Marcello Guerreiro Ter Out 31, 2017 6:08 pm

Contextualizando, o modelo gerado neste exemplo, calcula a qual das classes de mechilhão segundo a salinidade, um indivíduo de mechilhão desconhecido pertence. Seria a salinidade um bom estimador para a classificação do tipo de classe ou ordem (desculpem não sei) de mechilhão? O resultado do modelo representa a estimativa em probabilidade de cada indivíduo ser classificado em uma classe de mechilhão no caso a Limnoperna, a partir dos dados de salinidade. Retornando valores entre o e 1, ou 0% a 100% de certeza, segundo o modelo e as variáveis utilizadas.
Marcello Guerreiro
Marcello Guerreiro

Mensagens : 27
Data de inscrição : 08/10/2017
Idade : 45
Localização : Rio de Janeiro

Ir para o topo Ir para baixo

Como adicionar um vetor a um dataframe Empty Re: Como adicionar um vetor a um dataframe

Mensagem por Prof. Marcos Qua Nov 01, 2017 3:53 pm

Oi, Guerreiro!

Legal, o cbind() é uma boa solução mesmo, e normalmente bem simples de usar. De maneira similar, existe a função rbind(), que faz o mesmo para se adicionar linhas.

Uma alternativa interessante também é conferir o pacote dplyr, que apresenta diversas funções para se "mexer e futricar" nas tabelas de dados, alterando formatos, fundindo tabelas, adicionando ou resumindo linhas e colunas, e coisas assim. Você pode conferir aqui: https://www.rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf

Abraços!
Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Como adicionar um vetor a um dataframe Empty Re: Como adicionar um vetor a um dataframe

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos