Dear useRs,
A colleague has sent me several batches of output I need to process, and I'm
struggling with the format to the point that I don't even know how to extract a
test set to upload here. My apologies, but I think that my issue is
straightforward enough (for some of you, not for me!) that you can help in the
absence of a test set. Here is the scenario:
# Data sets are lists:
> ls()
[1] "res.Callus.Explant" "res.Callus.Regen" "res.Explant.Regen"
> is.list(res.Callus.Explant)
[1] TRUE
# The elements of each list look like this:
> names(res.Callus.Explant)
[1] "name" "group1" "group2" "alternative" "rows"
"counts"
[7] "eff.lib.sizes" "dispersion" "x" "beta0" "beta.hat"
"beta.tilde"
[13] "e" "e1" "e2" "log.fc" "p.values"
"q.values"
I want to 1) extract specific fields from this data structure into a data
frame, 2) subset from this data frame into a new data frame based on selection
criteria. What I've done is this:
all.comps <- ls(pattern="^res")
for(i in all.comps){
obj = i;
gene.ids = rownames(obj$counts);
x = data.frame(gene.ids = gene.ids, obj$counts, obj$e1, obj$e2, obj$log.fc,
obj$p.value, obj$q.value);
DiffGenes.i = subset(x, x$obj.p.value<0.05 | x$obj.q.value<=0.1)
}
Obviously, this doesn't work because pattern searching in the first line is not
feeding the entire data structure into the all.comps variable. But how can I
accomplish feeding the whole data structure for each one of these lists into
the loop? Should I be able to use sapply here? If so, how? Also, I suspect
that "DiffGenes.i" is not going to give me the data frame I want, which in the
example I'm showing would be "DiffGenes.res.Callus.Explant." How should I name
output data frames from a loop like this (if a loop is even the best way to do
this)?
Any help with this will be greatly appreciated.
--Kelly V.
______________________________________________
[email protected] 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.