try master_list <- apply(x, 1, as.list)
HTH > Dear group, > I have a dataframe (x). (4 rows, 3 columns for > example) > > I want to create a master list (my_list) from data > frame. > > I want each row of x to be a list. > > > I tried 3 different ways: writing a loop, using apply, > and going through each row. > Going through each row works for me. since I have 1000 > rows, I cannot manually create 1000 lists and combine > them. I apologize for the long email with all 3 > methods I tried. I request you to help me if I can > automate last method. thanks srini > > proposal: > x <- data frame > > list1 <- list(src=x[1,]$V1, > title = x[1,]$V2, > pbset = X[1]$V3) > list2 <- list(src=x[2,]$V1, > title = x[2,]$V2, > pbset = X[2]$V3) > > master_list <- list(list1,list2) > > > Solution: > Write a for loop that takes each row and creates a > list. > Append this list to a master list. > > > Example: > >> x > title src probesets > 1 chr16q positional CMAR,USP10,PSORS8,WT3,SLI1 > 2 chr4p positional ATP5I,MHW1,STGD4 > 3 chr1q13 positional SCARNA2 > 4 chr4q1 positional MORF4LP4 > >> mastr_list = list() > >> for(i in 1:nrow(x)){ > y=list(src=as.character(x[i,src), > title=as.character(x[i,]$title), > probes=as.character(x[i,]$probesets)) > mastr_list[i]=y > } > > > problem: > Warning messages: > 1: In test[i] = y : > number of items to replace is not a multiple of > replacement length > 2: In test[i] = y : > number of items to replace is not a multiple of > replacement length > 3: In test[i] = y : > number of items to replace is not a multiple of > replacement length > 4: In test[i] = y : > number of items to replace is not a multiple of > replacement length > >> mastr_list > [[1]] > [1] "positional" > > [[2]] > [1] "positional" > > [[3]] > [1] "positional" > > [[4]] > [1] "positional" > > > > How can I make my master list. > > I tried also apply function and result is not exactly > what I desire. >> master_list <- apply(x, 1, list) >> master_list > [[1]] > [[1]][[1]] > title > src probesets > "chr16q" > "positional" "CMAR,USP10,PSORS8,WT3,SLI1" > > > [[2]] > [[2]][[1]] > title src > probesets > "chr4p" "positional" > "ATP5I,MHW1,STGD4" > > > [[3]] > [[3]][[1]] > title src probesets > "chr1q13" "positional" "SCARNA2" > > > [[4]] > [[4]][[1]] > title src probesets > "chr4q1" "positional" "MORF4LP4" > > > > my final result should look like this: >> a = > list(src=as.character(x[1,]$src),title=as.character(x[1,]$title),probes=as.character(x[1,]$probesets)) >> b = > list(src=as.character(x[2,]$src),title=as.character(x[2,]$title),probes=as.character(x[2,]$probesets)) >> c = > list(src=as.character(x[3,]$src),title=as.character(x[3,]$title),probes=as.character(x[3,]$probesets)) >> d = > list(src=as.character(x[4,]$src),title=as.character(x[4,]$title),probes=as.character(x[4,]$probesets)) >> master_list = list(a,b,c,d) >> master_list > [[1]] > [[1]]$src > [1] "positional" > > [[1]]$title > [1] "chr16q" > > [[1]]$probes > [1] "CMAR,USP10,PSORS8,WT3,SLI1" > > > [[2]] > [[2]]$src > [1] "positional" > > [[2]]$title > [1] "chr4p" > > [[2]]$probes > [1] "ATP5I,MHW1,STGD4" > > > [[3]] > [[3]]$src > [1] "positional" > > [[3]]$title > [1] "chr1q13" > > [[3]]$probes > [1] "SCARNA2" > > > [[4]] > [[4]]$src > [1] "positional" > > [[4]]$title > [1] "chr4q1" > > [[4]]$probes > [1] "MORF4LP4" > > ______________________________________________ > R-help@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@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.