# [R] Plotting factors in graph panel

John Kane jrkr|de@u @end|ng |rom gm@||@com
Thu Jun 29 17:41:40 CEST 2023

```Anupa,

I think your  best bet with your data would be to tidy it up in Excel, read
it into  R using something like the readxl package and then supply some
sample data is the dput() function.

In the case of a large dataset something like dput(head(mydata, 100))
should supply the data we need. Just do dput(mydata) where *mydata* is your
data. Copy the output and paste it here.

On Thu, 29 Jun 2023 at 08:37, Ebert,Timothy Aaron <tebert using ufl.edu> wrote:

> Reposting the data did not help. We do not like to guess, and doing so
> takes a great deal of time that is likely wasted.
> Rows are observations.
> Columns are variables.
> In Excel, the first row will be variable names and all subsequent rows
> will be observations.
>
> Income is the first variable. It has seven states: \$10, \$25, \$40, \$75,
> MF is the second variable. It has six values: 1, 2, 3, 4, 5, 9
> None is the third variable. It has seven values: 1, 3.05,  2.29, 2.24,
> 1.71, 1.30, 2.83
> Equity is the last variable with many states, both numeric and text. A
> computer will read it all as text.
>
> As written the data cannot be analyzed.
>
> Equity looks like it should be numeric. However, it has text values:
> "Debt", "Hybrid", Bank", "AC", "None", "Current", "Savings", "No", and
>
> In looking at the data I try to find some organization where every
> variable has the same number of rows as every other variable. I fail with
> these data.
> I could combine "No" and "Answer" into one name "No Answer" to make it
> agree with MF, but then it does not work for None.
>
>
> Please rework the data in Excel so that we can properly interpret the
> content. If it is badly organized in Excel, moving it to R will not help.
> Below, I tried adding carriage returns and spaces to organize the data,
> but I have a column of numbers that are not identified. The values below
> \$10 do not make much sense compared to other values.
>
> I am tired of guessing.
>
> Tim
>
> -----Original Message-----
> From: R-help <r-help-bounces using r-project.org> On Behalf Of Anupam Tyagi
> Sent: Wednesday, June 28, 2023 11:49 PM
> To: r-help using r-project.org
> Subject: Re: [R] Plotting factors in graph panel
>
> [External Email]
>
> Thanks, Pikal and Jim. Yes, it has been a long time Jim. I hope you have
> been well.
>
> Pikal, thanks. Your solution may be close to what I want. I did not know
> that I was posting in HTML. I just copied the data from Excel and posted in
> the email in Gmail. The data is still in Excel, because I have not yet
> figured out what is a good way to organize it in R. I am posting it again
> below as text. These are rows in Excel: 1,2,3,5,9 after MF are income
> categories and No Answer category (9). Down the second column are
> categories of MF and Bank AC. Rest of the columns are percentages.
>
> Jim, thanks for the graph. I am looking to plot only one line (category)
> each in many small plots on the same page. I don't want to compare
> different categories on the same graph as you do, but see how each category
> varies by income, one category in each graph. Like Excel does with
> Sparklines (Top menu: Insert, Sparklines, Lines). I have many categories
> for many variables. I am only showing two MF and Bank AC.
>
> Income        \$10 \$25     \$40      \$75   > \$75    No Answer
> MF                   1      2         3           4         5          9
> None               1   3.05     2.29    2.24     1.71    1.30
>  2.83
> Equity             2    29.76  28.79  29.51 28.90   31.67            36.77
>
> Debt                3  31.18  32.64  34.31  35.65  37.59             33.15
>
> Hybrid              4 36.00 36.27 33.94 33.74 29.44 27.25
>
> Bank AC None 1 46.54 54.01 59.1 62.17 67.67 60.87
>
> Current            2 24.75 24.4 25 24.61 24.02 21.09
>
> Savings             3 25.4 18.7 29 11.48 7.103 13.46
>
> No Answer       9 3.307 2.891 13.4 1.746 1.208 4.577
>
>
> On Wed, 28 Jun 2023 at 17:30, Jim Lemon <drjimlemon using gmail.com> wrote:
>
> > Hi Anupam,
> > Haven't heard from you in a long time. Perhaps you want something like
> > this:
> >
> >  "Income MF MF_None MF_Equity MF_Debt MF_Hybrid Bank_None Bank_Current
> > Bank_Savings Bank_NA
> >  \$10 1 3.05 29.76 31.18 36.0 46.54 24.75 25.4 3.307
> >  \$25 2 2.29 28.79 32.64 36.27 54.01 24.4 18.7 2.891
> >  \$40 3 2.24 29.51 34.31 33.94 59.1 25.0 29 13.4
> >  \$75 4 1.71 28.90 35.65 33.74 62.17 24.61 11.48 1.746
> >  >\$75 5 1.30 31.67 37.59 29.44 67.67 24.02 7.103 1.208  No_Answer 9
> > 2.83 36.77 33.15 27.25 60.87 21.09 13.46 4.577",
> > png("MF_Bank.png",height=600)
> > par(mfrow=c(2,1))
> > matplot(at_df[,c("MF_None","MF_Equity","MF_Debt","MF_Hybrid")],
> >  type="l",col=1:4,lty=1:4,lwd=3,
> >  main="Percentages by Income and MF type",
> > xlab="Income",ylab="Percentage of group",xaxt="n")
> > axis(1,at=1:5,labels=at_df\$Income)
> > legend(3,24,c("MF_None","MF_Equity","MF_Debt","MF_Hybrid"),
> >  lty=1:4,lwd=3,col=1:4)
> > matplot(at_df[,c("Bank_None","Bank_Current","Bank_Savings")],
> >  type="l",col=1:3,lty=1:4,lwd=3,
> >  main="Percentages by Income and Bank type",
> > xlab="Income",ylab="Percentage of group",xaxt="n")
> > axis(1,at=1:5,labels=at_df\$Income)
> > legend(3,54,c("Bank_None","Bank_Current","Bank_Savings"),
> >  lty=1:4,lwd=3,col=1:3)
> > dev.off()
> >
> > Jim
> >
> > On Wed, Jun 28, 2023 at 6:33 PM Anupam Tyagi <anuptyagi using gmail.com>
> wrote:
> > >
> > > Hello,
> > >
> > > I want to plot the following kind of data (percentage of respondents
> > from a
> > > survey) that varies by Income into many small *line* graphs in a
> > > panel of graphs. I want to omit "No Answer" categories. I want to
> > > see how each one of the categories (percentages), "None", " Equity",
> > > etc. varies by
> > Income.
> > > How can I do this? How to organize the data well and how to plot? I
> > thought
> > > Lattice may be a good package to plot this, but I don't know for
> > > sure. I prefer to do this in Base-R if possible, but I am open to
> > > ggplot. Any
> > ideas
> > > will be helpful.
> > >
> > > Income
> > > \$10 \$25 \$40 \$75 > \$75 No Answer
> > > MF 1 2 3 4 5 9
> > > None 1 3.05 2.29 2.24 1.71 1.30 2.83 Equity 2 29.76 28.79 29.51
> > > 28.90 31.67 36.77 Debt 3 31.18 32.64 34.31 35.65 37.59 33.15 Hybrid
> > > 4 36.00 36.27 33.94 33.74 29.44 27.25 Bank AC None 1 46.54 54.01
> > > 59.1 62.17 67.67 60.87 Current 2 24.75 24.4 25 24.61 24.02 21.09
> > > Savings 3 25.4 18.7 29 11.48 7.103 13.46 No Answer 9 3.307 2.891
> > > 13.4 1.746 1.208 4.577
> > >
> > > Thanks.
> > > --
> > > Anupam.
> > >
> > >         [[alternative HTML version deleted]]
> > >
> > > ______________________________________________
> > > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > > https://st/
> > > at.ethz.ch%2Fmailman%2Flistinfo%2Fr-help&data=05%7C01%7Ctebert%40ufl
> > > .edu%7C59874e74164c46133f2c08db7853d28f%7C0d4da0f84a314d76ace60a6233
> > > 1e1b84%7C0%7C0%7C638236073642897221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi
> > > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C
> > > ed=0
> > http://www.r/
> > -project.org%2Fposting-guide.html&data=05%7C01%7Ctebert%40ufl.edu%7C59
> > 874e74164c46133f2c08db7853d28f%7C0d4da0f84a314d76ace60a62331e1b84%7C0%
> > 7C0%7C638236073642897221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiL
> > CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=H7
> > 6XCa%2FULBGUn0Lok93l6mtHzo0snq5G0a%2BL4sEH8%2F8%3D&reserved=0
> > > and provide commented, minimal, self-contained, reproducible code.
> >
>
>
> --
> Anupam.
>
>         [[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
> http://www.r-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

--
John Kane