[R] integrating 2 lists and a data frame in R

Jim Lemon drjimlemon at gmail.com
Tue Jun 6 13:01:58 CEST 2017


Hi Bogdan,
Kinda messy, but:

N <- data.frame(N=c("n1","n2","n3","n4"))
M <- data.frame(M=c("m1","m2","m3","m4","m5"))
C <- data.frame(n=c("n1","n2","n3"), m=c("m1","m1","m3"), I=c(100,300,400))
MN<-as.data.frame(matrix(NA,nrow=length(N[,1]),ncol=length(M[,1])))
names(MN)<-M[,1]
rownames(MN)<-N[,1]
C[,1]<-as.character(C[,1])
C[,2]<-as.character(C[,2])
for(row in 1:dim(C)[1]) MN[C[row,1],C[row,2]]<-C[row,3]

Jim

On Tue, Jun 6, 2017 at 3:51 PM, Bogdan Tanasa <tanasa at gmail.com> wrote:
> Dear Bert,
>
> thank you for your response. here it is the piece of R code : given 3 data
> frames below ---
>
> N <- data.frame(N=c("n1","n2","n3","n4"))
>
> M <- data.frame(M=c("m1","m2","m3","m4","m5"))
>
> C <- data.frame(n=c("n1","n2","n3"), m=c("m1","m1","m3"), I=c(100,300,400))
>
> how shall I integrate N, and M, and C in such a way that at the end we have
> a data frame with :
>
>
>    - list N as the columns names
>    - list M as the rows names
>    - the values in the cells of N * M, corresponding to the numerical
>    values in the data frame C.
>
> more precisely, the result shall be :
>
>      n1  n2  n3 n4
> m1  100  200   -   -
> m2   -   -   -   -
> m3   -   -   300   -
> m4   -   -   -   -
> m5   -   -   -   -
>
> thank you !
>
>
> On Mon, Jun 5, 2017 at 6:57 PM, Bert Gunter <bgunter.4567 at gmail.com> wrote:
>
>> Reproducible example, please. -- In particular, what exactly does C look
>> ilike?
>>
>> (You should know this by now).
>>
>> -- Bert
>> Bert Gunter
>>
>> "The trouble with having an open mind is that people keep coming along
>> and sticking things into it."
>> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
>>
>>
>> On Mon, Jun 5, 2017 at 6:45 PM, Bogdan Tanasa <tanasa at gmail.com> wrote:
>> >  Dear all,
>> >
>> > please could you advise on the R code I could use in order to do the
>> > following operation :
>> >
>> > a. -- I have 2 lists of "genome coordinates" : a list is composed by
>> > numbers that represent genome coordinates;
>> >
>> > let's say list N :
>> >
>> > n1
>> >
>> > n2
>> >
>> > n3
>> >
>> > n4
>> >
>> > and a list M:
>> >
>> > m1
>> >
>> > m2
>> >
>> > m3
>> >
>> > m4
>> >
>> > m5
>> >
>> > 2 -- and a data frame C, where for some pairs of coordinates (n,m) from
>> the
>> > lists above, we have a numerical intensity;
>> >
>> > for example :
>> >
>> > n1; m1; 100
>> >
>> > n1; m2; 300
>> >
>> > The question would be : what is the most efficient R code I could use in
>> > order to integrate the list N, the list M, and the data frame C, in order
>> > to obtain a DATA FRAME,
>> >
>> > -- list N as the columns names
>> > -- list M as the rows names
>> > -- the values in the cells of N * M, corresponding to the numerical
>> values
>> > in the data frame C.
>> >
>> > A little example would be :
>> >
>> >       n1  n2  n3 n4
>> >
>> >       m1  100  -   -   -
>> >
>> >       m2  300  -   -   -
>> >
>> >       m3   -   -   -   -
>> >
>> >       m4   -   -   -   -
>> >
>> >       m5   -   -   -   -
>> > I wrote a script in perl, although i would like to do this in R
>> > Many thanks ;)
>> > -- bogdan
>> >
>> >         [[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.
>>
>
>         [[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.



More information about the R-help mailing list