[R] how to remove factors from whole dataframe?

Fabio D'Agostino d@go@t|no|@b| @end|ng |rom gm@||@com
Sun Sep 19 12:42:26 CEST 2021


Hi Luigi,
try this
library(taRifx)
df_noFact <- remove.factors(df)
str(df_noFact)
'data.frame': 5 obs. of  3 variables:
 $ region : chr  "A" "B" "C" "D" ...
 $ sales  : num  13 16 22 27 34
 $ country: chr  "a" "b" "c" "d" ...
I hope this helps
Fabio

Il giorno dom 19 set 2021 alle ore 12:04 Luigi Marongiu <
marongiu.luigi using gmail.com> ha scritto:

> Thank you Jim, but I obtain:
> ```
> > str(df)
> 'data.frame': 5 obs. of  3 variables:
>  $ region : Factor w/ 5 levels "A","B","C","D",..: 1 2 3 4 5
>  $ sales  : num  13 16 22 27 34
>  $ country: Factor w/ 5 levels "a","b","c","d",..: 1 2 3 4 5
> > df1<-df[,!unlist(lapply(df,is.factor))]
> > str(df1)
>  num [1:5] 13 16 22 27 34
> > df1
> [1] 13 16 22 27 34
> ```
> I was expecting
> ```
> str(df)
> 'data.frame': 5 obs. of  3 variables:
>  $ region : char "A","B","C","D",..: 1 2 3 4 5
>  $ sales  : num  13 16 22 27 34
>  $ country: char "a","b","c","d",..: 1 2 3 4 5
> ```
>
> On Sun, Sep 19, 2021 at 11:37 AM Jim Lemon <drjimlemon using gmail.com> wrote:
> >
> > Hi Luigi,
> > It's easy:
> >
> > df1<-df[,!unlist(lapply(df,is.factor))]
> >
> > _except_ when there is only one column left, as in your example. In
> > that case, you will have to coerce the resulting vector back into a
> > one column data frame.
> >
> > Jim
> >
> > On Sun, Sep 19, 2021 at 6:18 PM Luigi Marongiu <marongiu.luigi using gmail.com>
> wrote:
> > >
> > > Hello,
> > > I woul dlike to remove factors from all the columns of a dataframe.
> > > I can do it n a column at the time with
> > > ```
> > >
> > > df <- data.frame(region=factor(c('A', 'B', 'C', 'D', 'E')),
> > >                  sales = c(13, 16, 22, 27, 34), country=factor(c('a',
> > > 'b', 'c', 'd', 'e')))
> > >
> > > new_df$region <- droplevels(new_df$region)
> > > ```
> > >
> > > What is the syntax to remove all factors at once (from all columns)?
> > > For this does not work:
> > > ```
> > > > str(df)
> > > 'data.frame': 5 obs. of  3 variables:
> > >  $ region : Factor w/ 5 levels "A","B","C","D",..: 1 2 3 4 5
> > >  $ sales  : num  13 16 22 27 34
> > >  $ country: Factor w/ 5 levels "a","b","c","d",..: 1 2 3 4 5
> > > > df = droplevels(df)
> > > > str(df)
> > > 'data.frame': 5 obs. of  3 variables:
> > >  $ region : Factor w/ 5 levels "A","B","C","D",..: 1 2 3 4 5
> > >  $ sales  : num  13 16 22 27 34
> > >  $ country: Factor w/ 5 levels "a","b","c","d",..: 1 2 3 4 5
> > > ```
> > > Thank you
> > >
> > > ______________________________________________
> > > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > > https://stat.ethz.ch/mailman/listinfo/r-help
> > > PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> > > and provide commented, minimal, self-contained, reproducible code.
>
>
>
> --
> Best regards,
> Luigi
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list