[R-br] subset a dataframe

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[R-br] subset a dataframe

R-br mailing list
Olá,

Algo que deve ser simples mas no qual empaquei.

Tenho um vetor com o nome de algumas linhas com dados suspeitos:

a <- c(1,2,3,4,5)
b <- c(2,8,6,4,10)
dat <- data.frame(a,b)
out <- c("2","4") # linhas com dados suspeitos

Com dat[out,] eu consigo selecionar as linhas do dataframe com dados suspeitos.

Mas eu quero selecionar as linhas sem dados suspeitos. Tentei dat[!out,] dat[-out,] e algumas outras coisas sem sucesso.

Agradeço sugestões, obrigado.

--
Antônio Olinto Ávila da Silva

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] subset a dataframe

R-br mailing list
Ao fazer

out <- c("2","4")

o vetor out deixou de ser numérico:

is.numeric(out)

Faça

out <- c(2,4)

que o comando

dat[-out,]

vai funcionar.





--
Marcus Nunes
Professor Adjunto
Universidade Federal do Rio Grande do Norte
Centro de Ciências Exatas e da Terra
Departamento de Estatística
Laboratório de Estatística Aplicada



On Sat, Jul 28, 2018 at 11:08 AM Antonio Silva via R-br <[hidden email]> wrote:
Olá,

Algo que deve ser simples mas no qual empaquei.

Tenho um vetor com o nome de algumas linhas com dados suspeitos:

a <- c(1,2,3,4,5)
b <- c(2,8,6,4,10)
dat <- data.frame(a,b)
out <- c("2","4") # linhas com dados suspeitos

Com dat[out,] eu consigo selecionar as linhas do dataframe com dados suspeitos.

Mas eu quero selecionar as linhas sem dados suspeitos. Tentei dat[!out,] dat[-out,] e algumas outras coisas sem sucesso.

Agradeço sugestões, obrigado.

--
Antônio Olinto Ávila da Silva
_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] subset a dataframe

R-br mailing list
Caro Marcus

Dentre a combinação de coisas que tentei essa me escapou.

Muito obrigado,

Antônio Olinto

Em 28 de julho de 2018 11:11, Marcus Nunes <[hidden email]> escreveu:
Ao fazer

out <- c("2","4")

o vetor out deixou de ser numérico:

is.numeric(out)

Faça

out <- c(2,4)

que o comando

dat[-out,]

vai funcionar.

--
Marcus Nunes
Professor Adjunto
Universidade Federal do Rio Grande do Norte
Centro de Ciências Exatas e da Terra
Departamento de Estatística
Laboratório de Estatística Aplicada



On Sat, Jul 28, 2018 at 11:08 AM Antonio Silva via R-br <[hidden email]> wrote:
Olá,

Algo que deve ser simples mas no qual empaquei.

Tenho um vetor com o nome de algumas linhas com dados suspeitos:

a <- c(1,2,3,4,5)
b <- c(2,8,6,4,10)
dat <- data.frame(a,b)
out <- c("2","4") # linhas com dados suspeitos

Com dat[out,] eu consigo selecionar as linhas do dataframe com dados suspeitos.

Mas eu quero selecionar as linhas sem dados suspeitos. Tentei dat[!out,] dat[-out,] e algumas outras coisas sem sucesso.

Agradeço sugestões, obrigado.

--
Antônio Olinto Ávila da Silva
_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] subset a dataframe

R-br mailing list
Olá,

Primeiramente, como já foi mencionado seus tipos estão errados. As
colunas do df são numéricas, o seu 'out' não. Então, se vc quer
comparar elementos, melhor que esteja todo mundo no mesmo tipo.

Dito isso, você pode se referir aos nomes das linhas. Nesse caso, '2'
e '4' são os nomes na dimensão das linhas (os rownames) do dat que vc
quer eliminar. Nesse caso, o comando

subset(dat,!rownames(dat) %in% out)

faz isso de forma um pouco mais explícita
On Sat, Jul 28, 2018 at 12:17 PM Antonio Silva via R-br
<[hidden email]> wrote:

>
> Caro Marcus
>
> Dentre a combinação de coisas que tentei essa me escapou.
>
> Muito obrigado,
>
> Antônio Olinto
>
> Em 28 de julho de 2018 11:11, Marcus Nunes <[hidden email]> escreveu:
>>
>> Ao fazer
>>
>> out <- c("2","4")
>>
>> o vetor out deixou de ser numérico:
>>
>> is.numeric(out)
>>
>> Faça
>>
>> out <- c(2,4)
>>
>> que o comando
>>
>> dat[-out,]
>>
>> vai funcionar.
>>
>> --
>> Marcus Nunes
>> Professor Adjunto
>> Universidade Federal do Rio Grande do Norte
>> Centro de Ciências Exatas e da Terra
>> Departamento de Estatística
>> Laboratório de Estatística Aplicada
>> [hidden email]
>> http://marcusnunes.me/
>>
>>
>>
>> On Sat, Jul 28, 2018 at 11:08 AM Antonio Silva via R-br <[hidden email]> wrote:
>>>
>>> Olá,
>>>
>>> Algo que deve ser simples mas no qual empaquei.
>>>
>>> Tenho um vetor com o nome de algumas linhas com dados suspeitos:
>>>
>>> a <- c(1,2,3,4,5)
>>> b <- c(2,8,6,4,10)
>>> dat <- data.frame(a,b)
>>> out <- c("2","4") # linhas com dados suspeitos
>>>
>>> Com dat[out,] eu consigo selecionar as linhas do dataframe com dados suspeitos.
>>>
>>> Mas eu quero selecionar as linhas sem dados suspeitos. Tentei dat[!out,] dat[-out,] e algumas outras coisas sem sucesso.
>>>
>>> Agradeço sugestões, obrigado.
>>>
>>> --
>>> Antônio Olinto Ávila da Silva
>>> _______________________________________________
>>> R-br mailing list
>>> [hidden email]
>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
>
> _______________________________________________
> R-br mailing list
> [hidden email]
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e fornea cdigo mnimo reproduzvel.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] subset a dataframe

R-br mailing list
In reply to this post by R-br mailing list
Acho que isso resolve

a <- c(1,2,3,4,5)
b <- c(2,8,6,4,10)
dat <- data.frame(a,b)
dat[-c(2,4),]

ou
out<-c(2,4) # sem aspas
dat[-out,]


On Jul 28 2018, at 11:08 am, Antonio Silva via R-br <[hidden email]> wrote:

Olá,

Algo que deve ser simples mas no qual empaquei.

Tenho um vetor com o nome de algumas linhas com dados suspeitos:

a <- c(1,2,3,4,5)
b <- c(2,8,6,4,10)
dat <- data.frame(a,b)
out <- c("2","4") # linhas com dados suspeitos

Com dat[out,] eu consigo selecionar as linhas do dataframe com dados suspeitos.

Mas eu quero selecionar as linhas sem dados suspeitos. Tentei dat[!out,] dat[-out,] e algumas outras coisas sem sucesso.

Agradeço sugestões, obrigado.

--
Antônio Olinto Ávila da Silva
_______________________________________________
R-br mailing list
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] subset a dataframe

R-br mailing list
In reply to this post by R-br mailing list
Obrigado Tiago, 

Ótima forma de utilizar o subset.

Saudações! 

Antonio Olinto

Em Sáb, 28 de jul de 2018 1:07 PM, Tiago Fragoso <[hidden email]> escreveu:
Olá,

Primeiramente, como já foi mencionado seus tipos estão errados. As
colunas do df são numéricas, o seu 'out' não. Então, se vc quer
comparar elementos, melhor que esteja todo mundo no mesmo tipo.

Dito isso, você pode se referir aos nomes das linhas. Nesse caso, '2'
e '4' são os nomes na dimensão das linhas (os rownames) do dat que vc
quer eliminar. Nesse caso, o comando

subset(dat,!rownames(dat) %in% out)

faz isso de forma um pouco mais explícita
On Sat, Jul 28, 2018 at 12:17 PM Antonio Silva via R-br
<[hidden email]> wrote:
>
> Caro Marcus
>
> Dentre a combinação de coisas que tentei essa me escapou.
>
> Muito obrigado,
>
> Antônio Olinto
>
> Em 28 de julho de 2018 11:11, Marcus Nunes <[hidden email]> escreveu:
>>
>> Ao fazer
>>
>> out <- c("2","4")
>>
>> o vetor out deixou de ser numérico:
>>
>> is.numeric(out)
>>
>> Faça
>>
>> out <- c(2,4)
>>
>> que o comando
>>
>> dat[-out,]
>>
>> vai funcionar.
>>
>> --
>> Marcus Nunes
>> Professor Adjunto
>> Universidade Federal do Rio Grande do Norte
>> Centro de Ciências Exatas e da Terra
>> Departamento de Estatística
>> Laboratório de Estatística Aplicada
>> [hidden email]
>> http://marcusnunes.me/
>>
>>
>>
>> On Sat, Jul 28, 2018 at 11:08 AM Antonio Silva via R-br <[hidden email]> wrote:
>>>
>>> Olá,
>>>
>>> Algo que deve ser simples mas no qual empaquei.
>>>
>>> Tenho um vetor com o nome de algumas linhas com dados suspeitos:
>>>
>>> a <- c(1,2,3,4,5)
>>> b <- c(2,8,6,4,10)
>>> dat <- data.frame(a,b)
>>> out <- c("2","4") # linhas com dados suspeitos
>>>
>>> Com dat[out,] eu consigo selecionar as linhas do dataframe com dados suspeitos.
>>>
>>> Mas eu quero selecionar as linhas sem dados suspeitos. Tentei dat[!out,] dat[-out,] e algumas outras coisas sem sucesso.
>>>
>>> Agradeço sugestões, obrigado.
>>>
>>> --
>>> Antônio Olinto Ávila da Silva
>>> _______________________________________________
>>> R-br mailing list
>>> [hidden email]
>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
>
> _______________________________________________
> R-br mailing list
> [hidden email]
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.