[R] Colorizing different individuals with fviz

Mahmood Naderan-Tahan m@hmood@n@der@n @end|ng |rom ugent@be
Tue Mar 30 11:32:22 CEST 2021


Thanks Jim,

It is now working.


Regards,
Mahmood

________________________________
From: Jim Lemon <drjimlemon using gmail.com>
Sent: Tuesday, March 30, 2021 4:28:50 AM
To: Mahmood Naderan-Tahan
Subject: Re: [R] Colorizing different individuals with fviz

Hi Mahmood,
After scanning the replies and finding the "factoextra" and
"FactoMineR" packages I can say with confidence that the col= argument
won't work. First, the graphic output if via ggplot, and I don't think
that "col=" is a valid argument in that environment.
You seem to be using an object that is a list of matrices. Whether
there is a value in there that will separate your individuals into the
"red" and "black" groups I do not know.
I think that Bill is right, you will have to fall back on something like:

col.ind=c(rep("black",10),rep("red",10))

Jim

On Tue, Mar 30, 2021 at 8:33 AM Mahmood Naderan-Tahan
<mahmood.naderan using ugent.be> wrote:
>
> I understand that I came across this error after that
>
>
> ind <- get_famd_ind(res.famd)
> fviz_famd_ind(res.famd,
>               col.ind = ifelse(ind>10,"red","black"),
>               repel = TRUE)
>
>
> Error in ifelse(ind > 10, "red", "black") :
>   'list' object cannot be coerced to type 'double'
> Calls: fviz_famd_ind -> %in% -> ifelse
>
>
> I guess ind has (x,y) type and hence "ind>10" is not valid.
>
> I also tried
>
>
> col.ind = ifelse(ind.x>10,"red","black"),
>
>
> But got the same error.
>
> Any idea about that?
>
>
>
>
> Regards,
> Mahmood
>
> ________________________________
> From: Bill Dunlap <williamwdunlap using gmail.com>
> Sent: Monday, March 29, 2021 11:25:30 PM
> To: Mahmood Naderan-Tahan
> Cc: Jim Lemon; r-help using r-project.org
> Subject: Re: [R] Colorizing different individuals with fviz
>
> That error means that fviz_famd_ind has more than one argument that
> starts with 'col' and you must type a more complete name to
> disambiguate it.  Perhaps col.ind=ifelse(...)?
>
> > args(factoextra::fviz_famd_ind)
> function (X, axes = c(1, 2), geom = c("point", "text"),
>     repel = FALSE, habillage = "none", palette = NULL,
>     addEllipses = FALSE, col.ind = "blue", col.ind.sup = "darkblue",
>     alpha.ind = 1, shape.ind = 19, col.quali.var = "black",
>     select.ind = list(name = NULL, cos2 = NULL, contrib = NULL),
>     gradient.cols = NULL, ...)
>
> On Mon, Mar 29, 2021 at 2:20 PM Mahmood Naderan-Tahan
> <mahmood.naderan using ugent.be> wrote:
> >
> > Hi Jim,
> >
> > It seems that the following proposed method doesn't work
> >
> >
> > ind <- get_famd_ind(res.famd)
> > fviz_famd_ind(res.famd,
> >               col=ifelse(x>10,"red","black"),
> >               repel = TRUE)
> >
> >
> > Result is:
> >
> >
> > Error in fviz_famd_ind(res.famd, col = ifelse(x > 10, "red", "black"),  :
> >   argument 2 matches multiple formal arguments
> >
> >
> >
> > Any idea to fix that?
> >
> > Regards,
> > Mahmood
> >
> > ________________________________
> > From: Jim Lemon <drjimlemon using gmail.com>
> > Sent: Saturday, March 27, 2021 9:19:23 PM
> > To: Mahmood Naderan-Tahan
> > Cc: r-help using r-project.org
> > Subject: Re: [R] Colorizing different individuals with fviz
> >
> > Hi Mahmood,
> > What you have specified can be done with:
> >
> > col=c(rep("black",10),rep("red",10))
> >
> > depending upon what print function you are using. I suspect that this
> > may be based on a value in your data. For example, if you want  black
> > for values of some variable up to 10 and red for those over:
> >
> > col=ifelse(x>10,"red","black)
> >
> > Jim
> >
> > On Sun, Mar 28, 2021 at 12:20 AM Mahmood Naderan-Tahan
> > <mahmood.naderan using ugent.be> wrote:
> > >
> > > Hi
> > >
> > > I use this command to generate a graph of individuals
> > >
> > >
> > > ind <- get_famd_ind(res.famd)
> > > fviz_famd_ind(res.famd, repel = TRUE)
> > >
> > >
> > > I would like to know how can I specify different colors for different individuals?
> > >
> > > The colorization is not very complex. Basically, I want to specify rows[1:10] to be shown in black and rows[11:20] to be shown in red.
> > >
> > >
> > > Any idea about that?
> > >
> > >
> > > Regards,
> > > Mahmood
> > >
> > >         [[alternative HTML version deleted]]
> > >
> > > ______________________________________________
> > > 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]]
> >
> > ______________________________________________
> > 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