So I don't know what you are trying to do with your function (and I might have incidentally messed it up), but within certainly does add the desired column:
WaterData <- structure(list(Site = structure(c(3L, 3L, 3L, 3L, 3L, 3L), .Label = c("BV", "CB", "KP", "LA", "MR", "PIE"), class = "factor"), Time = structure(c(1L, 1L, 1L, 1L, 2L, 5L), .Label = c("0:00:00", "0:00:52", "0:01:00", "0:06:00", "0:07:00", "0:11:00", "0:16:00", "0:21:00", "0:26:00", "0:36:00", "0:41:00", "0:51:00", "0:56:00", "1:01:00", "1:06:00", "1:07:00", "1:10:00", "1:11:00", "1:22:00", "1:37:00", "1:52:00", "10:22:00", "10:37:00", "10:52:00", "11:22:00", "15:55:00", "16:00:00", "17:25:00", "17:30:00", "18:00:00", "18:05:00", "18:20:00", "18:35:00", "18:50:00", "19:05:00", "19:20:00", "19:25:00", "19:35:00", "2:07:00", "2:14:00", "2:16:00", "2:21:00", "2:22:00", "2:26:00", "2:31:00", "2:36:00", "2:37:00", "2:38:00", "2:44:00", "2:46:00", "2:52:00", "20:20:00", "20:32:00", "20:35:00", "21:05:00", "21:17:00", "21:20:00", "21:32:00", "22:05:00", "22:20:00", "22:21:00", "22:32:00", "22:37:00", "22:42:00", "22:47:00", "22:50:00", "23:16:00", "23:26:00", "23:31:00", "23:36:00", "23:41:00", "23:46:00", "23:51:00", "23:56:00", "3:07:00", "3:22:00", "3:52:00", "4:22:00", "4:52:00", "5:22:00", "6:37:00", "6:57:00", "7:52:00", "9:22:00"), class = "factor"), DateCorrectFmt = structure(c(4L, 8L, 1L, 3L, 8L, 5L), .Label = c("2010-08-17", "2010-08-21", "2010-08-22", "2010-08-28", "2010-08-29", "2010-09-21", "2010-09-22", "2010-10-21", "2011-02-19"), class = "factor"), variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = c("CaD_ICP", "NaD_ICP", "ZnD_ICP" ), class = "factor"), value = c(0.044, 0.1316, 0.0101, 0.0114, 80.13, 15.42)), .Names = c("Site", "Time", "DateCorrectFmt", "variable", "value"), row.names = c(1L, 2L, 6L, 8L, 11L, 14L), class = "data.frame") WQFunc <- function(df){ within(df, CalcFlag <- ifelse(variable =="CaD_ICP", (dataqualifier <- c("Y", "Q", "","A")[findInterval(value,c(-Inf, 0.027, 0.1, 100, Inf))]), "")) } WQ <- WQFunc(WaterData) print(WaterData) print(WQ) On Wed, Dec 7, 2011 at 5:01 PM, Steve E. <se...@vt.edu> wrote: > Thanks to everyone for continued assistance with this problem. I realize > that I had not included enough information, hopefully I have done so here. > I attached a dput output of a sample of the data titled 'WaterData' (and str > output below). Below are dput outputs of the function I am trying to get > working and the resulting array when I run it. Unfortunately, Michael, > changing 'with' to 'within' did not solve the problem, as running the > function in that case produced no discernible output or result. What I > meant by the function now producing an array of values (though the result I > am looking for) that are not attached to the data frame, is that they show > up separately in a result window (in a similar format to what you get from > dput() and are not at all associated with the data frame). Again, thanks so > much! > >> dput(WQFunc) > function (dataframe) > { > dataframe$CalcFlag <- with(dataframe, ifelse(variable == > "CaD_ICP", (dataqualifier <- c("Y", "Q", "", > "A")[findInterval(dataframe$value, > c(-Inf, 0.027, 0.1, 100, Inf))]), "")) > } > >> str(WaterData) > 'data.frame': 126 obs. of 5 variables: > $ Site : Factor w/ 6 levels "BV","CB","KP",..: 3 3 3 3 3 3 3 3 3 3 > ... > $ Time : Factor w/ 84 levels "0:00:00","0:00:52",..: 1 1 1 1 2 5 > 16 16 19 20 ... > $ DateCorrectFmt: Factor w/ 9 levels "2010-08-17","2010-08-21",..: 4 8 1 3 > 8 5 5 8 8 8 ... > $ variable : Factor w/ 3 levels "CaD_ICP","NaD_ICP",..: 1 1 1 1 1 1 1 > 1 1 1 ... > $ value : num 0.044 0.1316 0.0101 0.0114 80.13 ... > > Below is the output I get if if I run the WQFunc as: > flagged <- WQFunc(WaterData) > >> dput(Flagged) > c("Q", "", "Y", "Y", "", "", "", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", > "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" > ) >> > > > Again, though, 'Flagged' is an array of those values in a output window but > are not 'attached' to WaterData. > > -- > View this message in context: > http://r.789695.n4.nabble.com/help-wrapping-findInterval-into-a-function-tp4165464p4170688.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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.