Thank you so much. You are totally right.
> -----Original Message----- > From: Joshua Wiley [mailto:jwiley.ps...@gmail.com] > Sent: Monday, May 24, 2010 6:33 PM > To: arnaud Gaboury > Cc: r-help@r-project.org > Subject: Re: [R] writing function > > My guess is that either ls(), called inside grep() or mget() is > looking in an environment you do not want it to. When you create a > function, it has it's own environment. If you want the dataframes to > be created inside the function call (which is what I think you were > doing before), you should set ls() and mget() to use your function > environment. If the dataframes are supposed to be in the global > environment, I would try adding: > > mget(grep("DailyPL",ls(envir=.GlobalEnv),value=TRUE),envir=.GlobalEnv)) > > HTH, > > Josh > > On Mon, May 24, 2010 at 9:17 AM, arnaud Gaboury > <arnaud.gabo...@gmail.com> wrote: > > Dear group, > > > > Here is my environment after I run a function, myfun() > > > >>myfun() > >> ls() > > [1] "allcon" "avprix16" "DailyPL100416" "DailyPL100419" > > "DailyPL100420" "l" "ll" "myl" "PL" > > "PLdaily" "PLglobal" "PLmonthly" > > [13] "Pos100415" "Pos100416" "Pos100419" "Pos100420" > > "pose15" "pose16" "position" "r" > "result" > > "sel" "select" "Trad100415" > > [25] "Trad100416" "Trad100419" "Trad100420" "trade" > "tt" > > "value" "w" "zz" > > > > Elements "DailyPL100416" "DailyPL100419" "DailyPL100420" are data > frames > > created by a function, myfun(). > > If then I pass this line manually at the prompt: > > > >>dd<-data.frame(do.call(rbind, > > > mget(grep("DailyPL",ls(),value=TRUE),envir=.GlobalEnv)),row.names=NULL) > > > > Here is what I get, wich is the expected result : > > > > dd <- > > structure(list(DESCRIPTION = structure(c(2L, 5L, 6L, 7L, 9L, > > 11L, 12L, 15L, 14L, 16L, 1L, 10L, 3L, 4L, 13L, 8L, 17L, 2L, 3L, > > 5L, 7L, 9L, 11L, 12L, 13L, 14L, 16L, 18L, 8L, 6L, 10L, 15L, 5L, > > 19L, 9L, 10L, 11L, 12L, 13L, 14L, 16L, 2L, 3L, 20L, 18L, 7L, > > 21L), .Label = c("COFFEE C Jul/10", "COPPER May/10", "CORN Jul/10", > > "CORN May/10", "COTTON NO.2 Jul/10", "CRUDE OIL miNY May/10", > > "GOLD Jun/10", "HENRY HUB NATURAL GAS May/10", "ROBUSTA COFFEE (10) > Jul/10", > > > > "SILVER May/10", "SOYBEANS Jul/10", "SPCL HIGH GRADE ZINC USD", > > "STANDARD LEAD USD", "SUGAR NO.11 Jul/10", "SUGAR NO.11 May/10", > > "WHEAT Jul/10", "WHEAT May/10", "CRUDE OIL miNY Jun/10", "HENRY HUB > NATURAL > > GAS Jun/10", > > "PALLADIUM Jun/10", "PLATINUM Jul/10"), class = "factor"), PL = > c(3500, > > -1874.99999999999, -2612.50000000003, -2169.99999999998, -680, > > 425, 1025, 1008.00000000000, -3057.59999999999, 3212.5, - > 1781.25000000001, > > -2265.0, 75, -387.5, 2950, 490.000000000013, 0, 2612.49999999998, > > -4162.5, 279.99999999998, 589.999999999964, -3670, -1212.5, 887.5, > > -625, 3976.00000000000, -7250, -1112.50000000000, -289.999999999999, > > -1414.99999999999, 275, -526.400000000003, 6914.99999999999, > > -19.9999999999978, -2330, 54.9999999999955, 1725, -3012.5, -5175, > > -1769.60000000001, 3787.5, -537.500000000009, 175, -5330.00000000001, > > 362.49999999999, 590.000000000009, -2995.00000000000)), .Names = > > c("DESCRIPTION", > > "PL"), row.names = c(NA, -47L), class = "data.frame") > > > > If I add this same line at the end of my function , here is what I > get: > > > >> myfun() > > data frame with 0 columns and 0 rows #dd doesn't return > > > > > > What is wrong? > > > > Thank you for help. > > > > ______________________________________________ > > 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. > > > > > > -- > Joshua Wiley > Senior in Psychology > University of California, Riverside > http://www.joshuawiley.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.