[R] writing function
arnaud Gaboury
arnaud.gaboury at gmail.com
Mon May 24 18:17:35 CEST 2010
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.
More information about the R-help
mailing list