If a is a vector with missing values and b is the result of the function call that has just the non-missing computations on a, then you can do something like:
> newdat <- rep(NA, length(a)) > newdat[ !is.na(a) ] <- b Sometimes the which and match functions can be useful as well. -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.s...@imail.org 801.408.8111 > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of Gian Luca Negri > Sent: Tuesday, March 22, 2011 1:16 PM > To: r-help@r-project.org > Subject: [R] Data frame and function that requires vector as input > > > Hi, > > I have a data.frame(zscores) that looks like this: > > gA gB > g1 0.2 0.6 > g2 0.3 Na > > My problem is that I need to use a function and the output is a vector > of only the non NA values, so shorter than the list I would obtain > dropping the data.frame. > What is the cleanest way to keep row and column names or putting the > values back into the same data frame format? > > The function is fdrtool() and I can compute the values I'm interested > like this: > FDR=fdrtool([!is.na(zscores)])$qval > But at this point I don't know how to track back these values, to the > original data frame > > Thanks, > Gian Luca > > ______________________________________________ > 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.