An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120423/5c950c9a/attachment.pl>
Scatter plot / LOESS, or LOWESS for more than one parameter
8 messages · R. Michael Weylandt, Greg Snow, David Doyle
The scatter plot is easy: plot(pH1 ~ pH2, data = OBJ) When you say a loess for each -- how do you break them up? Are there repeat values for pH1? If so, this might be hard to do in base graphics, but ggplot2 would make it easy: library(ggplot2) ggplot(OBJ, aes(x = pH1, y = pH2)) + geom_point() + stat_smooth() + facet_wrap(~factor(pH1)) or something similar. Michael
On Mon, Apr 23, 2012 at 11:26 PM, David Doyle <kydaviddoyle at gmail.com> wrote:
Hi folks. If I have the following in my "data" event ? ?pH1 ? ?pH2 1 ? ? ? ? ? ?4.0 ? ? 6.0 2 ? ? ? ? ? ?4.3 ? ? 5.9 3 ? ? ? ? ? ?4.1 ? ? 6.1 4 ? ? ? ? ? ?4.0 ? ? 5.9 and on and on..... for about 400 events Is there a way I can get R to plot event vs. pH1 ?and event vs. pH2 and then do a loess or lowess line for each?? Thanks in advance David ? ? ? ?[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list 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.
Assuming that you want event as the x-axis (horizontal) you can do something like (untested without reproducible data): par(mfrow=c(2,1)) scatter.smooth( event, pH1 ) scatter.smooth( event, pH2 ) or plot( event, pH1, ylim=range(pH1,pH2) , col='blue') points( event, pH2, col='green' ) lines( loess.smooth(event,pH1), col='blue') lines( loess.smooth(event,pH2), col='green') Only do the second one if pH1 and pH2 are measured on the same scale in a way that the comparison and any crossings are meaningful or if there is enough separation (but not too much) that there is no overlap, but still enough detail. On Mon, Apr 23, 2012 at 10:40 PM, R. Michael Weylandt
<michael.weylandt at gmail.com> wrote:
The scatter plot is easy: plot(pH1 ~ pH2, data = OBJ) When you say a loess for each -- how do you break them up? Are there repeat values for pH1? If so, this might be hard to do in base graphics, but ggplot2 would make it easy: library(ggplot2) ggplot(OBJ, aes(x = pH1, y = pH2)) + geom_point() + stat_smooth() + facet_wrap(~factor(pH1)) or something similar. Michael On Mon, Apr 23, 2012 at 11:26 PM, David Doyle <kydaviddoyle at gmail.com> wrote:
Hi folks. If I have the following in my "data" event ? ?pH1 ? ?pH2 1 ? ? ? ? ? ?4.0 ? ? 6.0 2 ? ? ? ? ? ?4.3 ? ? 5.9 3 ? ? ? ? ? ?4.1 ? ? 6.1 4 ? ? ? ? ? ?4.0 ? ? 5.9 and on and on..... for about 400 events Is there a way I can get R to plot event vs. pH1 ?and event vs. pH2 and then do a loess or lowess line for each?? Thanks in advance David ? ? ? ?[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list 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 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.
Gregory (Greg) L. Snow Ph.D. 538280 at gmail.com
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120424/6f6cf256/attachment.pl>
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120424/56b80716/attachment.pl>
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120424/db78af37/attachment.pl>
1 day later
You can also use range( MC.pH, MV.pH, na.rm=TRUE).
On Tue, Apr 24, 2012 at 1:29 PM, David Doyle <kydaviddoyle at gmail.com> wrote:
Hi Greg, Sloved my own problem. I had some missing data "NA" in the datasets. ?So I manually entered the ylim=range(4,6) and it worked!!! Thanks!! David On Tue, Apr 24, 2012 at 1:55 PM, David Doyle <kydaviddoyle at gmail.com> wrote:
Hi Greg,
Thanks,
I got the 1st example to work using the following code:
data <- read.csv("http://doylesdartden.com/Monthly-pH-example.csv",
sep=",")
attach(data)
par(mfrow=c(2,1))
scatter.smooth( Year, MC.pH )
scatter.smooth( Year, MV.pH )
This is good but what I'm really looking for is to have them on the same
graph.
I tried your second example using the code below but got:
"Error in plot.window(...) : need finite 'ylim' values"
here is the code I used
data <- read.csv("http://doylesdartden.com/Monthly-pH-example.csv",
sep=",")
attach(data)
plot( Year, MC.pH, ylim=range(MC.pH,MV.pH) , col='blue')
points( Year, MV.pH, col='green' )
lines( loess.smooth(Year,MC.pH), col='blue')
lines( loess.smooth(Year,MV.pH), col='green')
Thanks again
David
On Tue, Apr 24, 2012 at 1:45 PM, Greg Snow <538280 at gmail.com> wrote:
Assuming that you want event as the x-axis (horizontal) you can do something like (untested without reproducible data): par(mfrow=c(2,1)) scatter.smooth( event, pH1 ) scatter.smooth( event, pH2 ) or plot( event, pH1, ylim=range(pH1,pH2) , col='blue') points( event, pH2, col='green' ) lines( loess.smooth(event,pH1), col='blue') lines( loess.smooth(event,pH2), col='green') Only do the second one if pH1 and pH2 are measured on the same scale in a way that the comparison and any crossings are meaningful or if there is enough separation (but not too much) that there is no overlap, but still enough detail. On Mon, Apr 23, 2012 at 10:40 PM, R. Michael Weylandt <michael.weylandt at gmail.com> wrote:
The scatter plot is easy: plot(pH1 ~ pH2, data = OBJ) When you say a loess for each -- how do you break them up? Are there repeat values for pH1? If so, this might be hard to do in base graphics, but ggplot2 would make it easy: library(ggplot2) ggplot(OBJ, aes(x = pH1, y = pH2)) + geom_point() + stat_smooth() + facet_wrap(~factor(pH1)) or something similar. Michael On Mon, Apr 23, 2012 at 11:26 PM, David Doyle <kydaviddoyle at gmail.com> wrote:
Hi folks. If I have the following in my "data" event ? ?pH1 ? ?pH2 1 ? ? ? ? ? ?4.0 ? ? 6.0 2 ? ? ? ? ? ?4.3 ? ? 5.9 3 ? ? ? ? ? ?4.1 ? ? 6.1 4 ? ? ? ? ? ?4.0 ? ? 5.9 and on and on..... for about 400 events Is there a way I can get R to plot event vs. pH1 ?and event vs. pH2 and then do a loess or lowess line for each?? Thanks in advance David ? ? ? ?[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list 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 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.
-- Gregory (Greg) L. Snow Ph.D. 538280 at gmail.com
Gregory (Greg) L. Snow Ph.D. 538280 at gmail.com
5 days later
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120430/4048ed39/attachment.pl>