

Dear all,
I am still fairly new to R and try to analyze large tables of data generated
from genomic experiment. Currently, I am trying to plot pair of experiments
coming from different file, trying to look at the behavior of individual
feature in pair of experiment.
My problem is that I have independent list from different source and I would
like to plot the pair of value using a common key. As in this simplified
version:
table1 = list(CGID=c("CG_1","CG_3","CG_2", "CG_4", "CG_5"),
diff=c(3,5,6,4,3))
table2 = list(CGID=c("CG_2","CG_3","CG_4", "CG_1", "CG_5"),
diff=c(4,6,3,9,10))
How can link the two table trough the CGIDC column and plot the data from
the 2 tables.
Many tx
Marco Blanchette, Ph.D.
[hidden email]
Donald C. Rio's lab
Department of Molecular and Cell Biology
16 Barker Hall
University of California
Berkeley, CA 947203204
Tel: (510) 6421084
Cell: (510) 8470996
Fax: (510) 6426062
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/rhelpPLEASE do read the posting guide! http://www.Rproject.org/postingguide.html


On Wed, 20051214 at 18:14 0800, Marco Blanchette wrote:
> Dear all,
>
> I am still fairly new to R and try to analyze large tables of data generated
> from genomic experiment. Currently, I am trying to plot pair of experiments
> coming from different file, trying to look at the behavior of individual
> feature in pair of experiment.
>
> My problem is that I have independent list from different source and I would
> like to plot the pair of value using a common key. As in this simplified
> version:
>
> table1 = list(CGID=c("CG_1","CG_3","CG_2", "CG_4", "CG_5"),
> diff=c(3,5,6,4,3))
>
> table2 = list(CGID=c("CG_2","CG_3","CG_4", "CG_1", "CG_5"),
> diff=c(4,6,3,9,10))
>
> How can link the two table trough the CGIDC column and plot the data from
> the 2 tables.
>
> Many tx
>
> Marco Blanchette, Ph.D.
Marco,
Please use an informative subject when posting. It makes it easier for
folks, especially when reviewing the email list archives.
There is a function called merge() which will perform SQLlike joins.
merge() will coerce the two lists to data frames, so you can do the
following:
> merge(table1, table2, by = "CGID")
CGID diff.x diff.y
1 CG_1 3 9
2 CG_2 6 4
3 CG_3 5 6
4 CG_4 4 3
5 CG_5 3 10
The result is a join of the two lists, using CGID (quoted) as the
primary key. The two 'diff' elements are uniquely named based upon their
source objects (x and y arguments in merge()) as a suffix. The appended
suffix can be changed if required.
See ?merge for more information.
HTH,
Marc Schwartz
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/rhelpPLEASE do read the posting guide! http://www.Rproject.org/postingguide.html


try with merge() :
table1 = data.frame( CGID=c("CG_1","CG_3","CG_2", "CG_4", "CG_5"),
diff=c(3,5,6,4,3))
table2 = data.frame( CGID=c("CG_2","CG_3","CG_4", "CG_1", "CG_5"),
diff=c(4,6,3,9,10))
newtable < merge(table1, table2, by="CGID")
matplot(merge(table1, table2, by="CGID")[,2:3])
or reshape() it :
newtable2 < reshape(newtable,
idvar="CGID",
varying=list(names(newtable)[2:3]),
v.names="diff",
direction="long")
plot(diff ~ CGID, newtable2) # if a good number of points
stripplot(diff ~ CGID, newtable2) # if only two per CGID level
Marco Blanchette a écrit :
>Dear all,
>
>I am still fairly new to R and try to analyze large tables of data generated
>from genomic experiment. Currently, I am trying to plot pair of experiments
>coming from different file, trying to look at the behavior of individual
>feature in pair of experiment.
>
>My problem is that I have independent list from different source and I would
>like to plot the pair of value using a common key. As in this simplified
>version:
>
>table1 = list(CGID=c("CG_1","CG_3","CG_2", "CG_4", "CG_5"),
>diff=c(3,5,6,4,3))
>
>table2 = list(CGID=c("CG_2","CG_3","CG_4", "CG_1", "CG_5"),
>diff=c(4,6,3,9,10))
>
>How can link the two table trough the CGIDC column and plot the data from
>the 2 tables.
>
>Many tx
>
>Marco Blanchette, Ph.D.
>
> [hidden email]
>
>Donald C. Rio's lab
>Department of Molecular and Cell Biology
>16 Barker Hall
>University of California
>Berkeley, CA 947203204
>
>Tel: (510) 6421084
>Cell: (510) 8470996
>Fax: (510) 6426062
>
>______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/rhelp>PLEASE do read the posting guide! http://www.Rproject.org/postingguide.html>
>
>
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/rhelpPLEASE do read the posting guide! http://www.Rproject.org/postingguide.html


In reply to this post by Marc Schwartz (via MN)
Dear Marc, Dear all,
I saw your email about "merge()" and I take the occasion to ask something
to you I already asked on the list but without success.
I searched long without finding, maybe you have a clue ...
I am looking for a function which performs the same as "merge()" but for
more than 2 lists, for example this would be :
> merge(table1, table2, ..., table(i), by = "common.variable")
Thanks a lot,
Florence.

R 2.2.0 (!) under Linux Debian.
On 12/15/05, Marc Schwartz < [hidden email]> wrote:
>
> On Wed, 20051214 at 18:14 0800, Marco Blanchette wrote:
> > Dear all,
> >
> > I am still fairly new to R and try to analyze large tables of data
> generated
> > from genomic experiment. Currently, I am trying to plot pair of
> experiments
> > coming from different file, trying to look at the behavior of individual
> > feature in pair of experiment.
> >
> > My problem is that I have independent list from different source and I
> would
> > like to plot the pair of value using a common key. As in this simplified
> > version:
> >
> > table1 = list(CGID=c("CG_1","CG_3","CG_2", "CG_4", "CG_5"),
> > diff=c(3,5,6,4,3))
> >
> > table2 = list(CGID=c("CG_2","CG_3","CG_4", "CG_1", "CG_5"),
> > diff=c(4,6,3,9,10))
> >
> > How can link the two table trough the CGIDC column and plot the data
> from
> > the 2 tables.
> >
> > Many tx
> >
> > Marco Blanchette, Ph.D.
>
> Marco,
>
> Please use an informative subject when posting. It makes it easier for
> folks, especially when reviewing the email list archives.
>
> There is a function called merge() which will perform SQLlike joins.
>
> merge() will coerce the two lists to data frames, so you can do the
> following:
>
> > merge(table1, table2, by = "CGID")
> CGID diff.x diff.y
> 1 CG_1 3 9
> 2 CG_2 6 4
> 3 CG_3 5 6
> 4 CG_4 4 3
> 5 CG_5 3 10
>
> The result is a join of the two lists, using CGID (quoted) as the
> primary key. The two 'diff' elements are uniquely named based upon their
> source objects (x and y arguments in merge()) as a suffix. The appended
> suffix can be changed if required.
>
> See ?merge for more information.
>
> HTH,
>
> Marc Schwartz
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/rhelp> PLEASE do read the posting guide!
> http://www.Rproject.org/postingguide.html>
[[alternative HTML version deleted]]
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/rhelpPLEASE do read the posting guide! http://www.Rproject.org/postingguide.html


On 12/14/05 9:14 PM, "Marco Blanchette" < [hidden email]> wrote:
> Dear all,
>
> I am still fairly new to R and try to analyze large tables of data generated
> from genomic experiment. Currently, I am trying to plot pair of experiments
> coming from different file, trying to look at the behavior of individual
> feature in pair of experiment.
>
> My problem is that I have independent list from different source and I would
> like to plot the pair of value using a common key. As in this simplified
> version:
>
> table1 = list(CGID=c("CG_1","CG_3","CG_2", "CG_4", "CG_5"),
> diff=c(3,5,6,4,3))
>
> table2 = list(CGID=c("CG_2","CG_3","CG_4", "CG_1", "CG_5"),
> diff=c(4,6,3,9,10))
>
> How can link the two table trough the CGIDC column and plot the data from
> the 2 tables.
table1 < data.frame( CGID=c("CG_1","CG_3","CG_2", "CG_4", "CG_5"),
diff=c(3,5,6,4,3))
table2 < data.frame( CGID=c("CG_2","CG_3","CG_4", "CG_1", "CG_5"),
diff=c(4,6,3,9,10))
table.merged < merge(table1,table2,by.x=1,by.y=1)
In other words, use a data.frame here and then use merge.
Does that do it?
Sean
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/rhelpPLEASE do read the posting guide! http://www.Rproject.org/postingguide.html

