Maria Lathouri
2016-Dec-05 12:25 UTC
[R] scatter plot of numerical variables against different sample ids
Dear all I know that my question is very simple but although I tried to find an answer online, I couldn't and I am stuck.? I have a dataset of three numerical variables measured in different samples ID. Something like this: Sample ? ? ? ?Cu ? ? ? ?Zn ? ? ? ?MnM1 ? ? ? ? ? ? ? 1 ? ? ? ? ?5 ? ? ? ? ?10M2 ? ? ? ? ? ? ? 2.5 ? ? ? 11 ? ? ? ? ?8M3 ? ? ? ? ? ? ?1.15 ? ? ?11 ? ? ? ? 12 ?M4 ? ? ? ? ? ? ? ?2 ? ? ? ? 4 ? ? ? ? ?30M5 ? ? ? ? ? ? ? ?8 ? ? ? ?15 ? ? ? ? 35 I would like to plot these variables (Cu, Zn, Mn) (in y-axis) against the Sample ID (in x-axis) in a scatter plot with lines as I want to see how they change in the samples. I tried using the command>plot(Sample, Cu, type="l", lty=1, col="red") but I wouldn't get a line. Actually, I would get some small horizontal lines in each point. I tried to use type="p" but I would get the same thing.? I would very much appreciate if you could help me on that. Apparently, I am missing something.? Thank you in advance.? Kind regards,Maria [[alternative HTML version deleted]]
Ivan Calandra
2016-Dec-05 12:48 UTC
[R] scatter plot of numerical variables against different sample ids
Hi Maria,
What happens is that R plots with boxplots (explaining the horizontal
lines, i.e. boxes with n=1) when the x-variable is a factor.
What you can do is transform your Sample column into numeric and then
plot it, with some adjustment of axis labels.
For example:
datf <-
data.frame(Sample=c("M1","M2","M3","M4","M5"),
Cu=c(1,2.5,1.15,2,8), Zn=c(5,11,11,4,15), Mn=c(10,8,12,30,35))
datf$Sample2 <- as.numeric(datf$Sample)
with(datf, plot(Sample2, Cu, type="l", lty=1, col="red",
xaxt="n"))
axis(1, at=datf$Sample2, labels=datf$Sample)
It might not be the easiest/best approach though... Someone here might
have a better idea.
HTH,
Ivan
--
Ivan Calandra, PhD
MONREPOS Archaeological Research Centre and
Museum for Human Behavioural Evolution
Schloss Monrepos
56567 Neuwied, Germany
calandra at rgzm.de
+49 (0) 2631 9772-287
--
https://www.researchgate.net/profile/Ivan_Calandra
https://publons.com/author/705639/
Le 05/12/2016 ? 13:25, Maria Lathouri via R-help a ?crit
:> Dear all
> I know that my question is very simple but although I tried to find an
answer online, I couldn't and I am stuck.
> I have a dataset of three numerical variables measured in different samples
ID. Something like this:
> Sample Cu Zn MnM1 1 5
10M2 2.5 11 8M3 1.15 11
12 M4 2 4 30M5 8 15
35
> I would like to plot these variables (Cu, Zn, Mn) (in y-axis) against the
Sample ID (in x-axis) in a scatter plot with lines as I want to see how they
change in the samples.
> I tried using the command>plot(Sample, Cu, type="l", lty=1,
col="red")
> but I wouldn't get a line. Actually, I would get some small horizontal
lines in each point. I tried to use type="p" but I would get the same
thing.
> I would very much appreciate if you could help me on that. Apparently, I am
missing something.
> Thank you in advance.
> Kind regards,Maria
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
Jim Lemon
2016-Dec-05 21:01 UTC
[R] scatter plot of numerical variables against different sample ids
Hi Maria,
Perhaps something like this:
mldf<-read.table(text="Sample Cu Zn Mn
M1 1 5 10
M2 2.5 11 8
M3 1.15 11 12
M4 2 4 30
M5 8 15 35",
header=TRUE)
matplot(mldf,type="b",pch=c("C","Z","M"))
Jim
On Mon, Dec 5, 2016 at 11:25 PM, Maria Lathouri via R-help
<r-help at r-project.org> wrote:> Dear all
> I know that my question is very simple but although I tried to find an
answer online, I couldn't and I am stuck.
> I have a dataset of three numerical variables measured in different samples
ID. Something like this:
> Sample Cu Zn MnM1 1 5
10M2 2.5 11 8M3 1.15 11
12 M4 2 4 30M5 8 15
35
> I would like to plot these variables (Cu, Zn, Mn) (in y-axis) against the
Sample ID (in x-axis) in a scatter plot with lines as I want to see how they
change in the samples.
> I tried using the command>plot(Sample, Cu, type="l", lty=1,
col="red")
> but I wouldn't get a line. Actually, I would get some small horizontal
lines in each point. I tried to use type="p" but I would get the same
thing.
> I would very much appreciate if you could help me on that. Apparently, I am
missing something.
> Thank you in advance.
> Kind regards,Maria
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
Shawn Way
2016-Dec-05 22:24 UTC
[R] scatter plot of numerical variables against different sample ids
You can also try using ggplot2 to generate the plot:> library(tidyr) > library(ggplot2) > data <- gather(mldf,Element,Value,2:4) > p <- ggplot(data,aes(x=factor(Element),y=Value,group=Sample,color=Sample)) > p+geom_line()Shawn Way, PE -----Original Message----- From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Jim Lemon Sent: Monday, December 05, 2016 3:02 PM To: Maria Lathouri <mlathouri at yahoo.gr> Cc: R-help Mailing List <r-help at r-project.org> Subject: Re: [R] scatter plot of numerical variables against different sample ids Hi Maria, Perhaps something like this: mldf<-read.table(text="Sample Cu Zn Mn M1 1 5 10 M2 2.5 11 8 M3 1.15 11 12 M4 2 4 30 M5 8 15 35", header=TRUE) matplot(mldf,type="b",pch=c("C","Z","M")) Jim On Mon, Dec 5, 2016 at 11:25 PM, Maria Lathouri via R-help <r-help at r-project.org> wrote:> Dear all > I know that my question is very simple but although I tried to find an answer online, I couldn't and I am stuck. > I have a dataset of three numerical variables measured in different samples ID. Something like this: > Sample Cu Zn MnM1 1 5 10M2 2.5 11 8M3 1.15 11 12 M4 2 4 30M5 8 15 35 > I would like to plot these variables (Cu, Zn, Mn) (in y-axis) against the Sample ID (in x-axis) in a scatter plot with lines as I want to see how they change in the samples. > I tried using the command>plot(Sample, Cu, type="l", lty=1, col="red") > but I wouldn't get a line. Actually, I would get some small horizontal lines in each point. I tried to use type="p" but I would get the same thing. > I would very much appreciate if you could help me on that. Apparently, I am missing something. > Thank you in advance. > Kind regards,Maria > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at 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.______________________________________________ R-help at 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.