I am working with Jim's solution, but I am getting some errors. I organized the data in Excel and read into R using the Import option in the menu of R-Studio. For some reason it is telling me my data is a Tibble and not a dataframe. Am I using Tidyverse unknowingly? I thought I was working in base-R.
> head(TrialData)# A tibble: 5 × 8 Income `MF None` `MF Equity` `MF Debt` `MF Hybrid` Bank …¹ Bank …² Bank …³ <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>1 $10 3.05 29.8 31.2 36 46.5 24.8 25.4 2 $25 2.29 28.8 32.6 36.3 54.0 24.4 18.7 3 $40 2.24 29.5 34.3 33.9 59.1 25 29 4 $75 1.71 28.9 35.6 33.7 62.2 24.6 11.5 5 > $75 1.30 31.7 37.6 29.4 67.7 24.0 7.10# … with abbreviated variable names ¹`Bank None`, ²`Bank Current`,# ³`Bank Savings` > png("Income_pcts.png",height=700)> par(mfrow=c(4,1))> plot(TrialData[,"Bank > Current"], type="o",lwd=3,main="Bank Current", > xlab="Income",ylab="%",xaxt="n")Warning messages: 1: In plot.window(xlim, ylim, log, ...) : graphical parameter "type" is obsolete 2: In axis(side = side, at = at, labels = labels, ...) : graphical parameter "type" is obsolete 3: In title(xlab = xlab, ylab = ylab, ...) : graphical parameter "type" is obsolete On Fri, 30 Jun 2023 at 04:41, Jim Lemon <drjimle...@gmail.com> wrote: > Okay. Here is a modification that does four single line plots. > > at_df<-read.table(text= > "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", > header=TRUE,stringsAsFactors=FALSE) > at_df<-at_df[at_df$Income!="No_Answer",which(names(at_df)!="Bank_NA")] > png("Income_pcts.png",height=700) > par(mfrow=c(4,1)) > plot(at_df[,"Bank_Current"], > type="l",lwd=3,main="Bsnk_Current", > xlab="Income",ylab="%",xaxt="n") > axis(1,at=1:5,labels=at_df$Income) > plot(at_df[,"Bank_Savings"], > type="l",lwd=3,main="Bank_Sasvings", > xlab="Income",ylab="%",xaxt="n") > axis(1,at=1:5,labels=at_df$Income) > plot(at_df[,"MF_Equity"], > type="l",lwd=3,main="MF_Equity", > xlab="Income",ylab="%",xaxt="n") > axis(1,at=1:5,labels=at_df$Income) > plot(at_df[,"MF_Debt"], > type="l",lwd=3,main="MF_Debt", > xlab="Income",ylab="%",xaxt="n") > axis(1,at=1:5,labels=at_df$Income) > dev.off() > > Jim > > On Thu, Jun 29, 2023 at 1:49 PM Anupam Tyagi <anupty...@gmail.com> wrote: > > > > 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 <drjimle...@gmail.com> wrote: > > > > > Hi Anupam, > > > Haven't heard from you in a long time. Perhaps you want something like > > > this: > > > > > > at_df<-read.table(text= > > > "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", > > > header=TRUE,stringsAsFactors=FALSE) > > > at_df<-at_df[at_df$Income!="No_Answer",which(names(at_df)!="Bank_NA")] > > > 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 <anupty...@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@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. > > > > > > > > > -- > > Anupam. > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@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. > -- Anupam. [[alternative HTML version deleted]] ______________________________________________ R-help@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.