You have a recursive reference. Try using a different name other than class. For example, in the following we use class. with a dot at the end (so that abbreviation of it still allows the user to write class):
fred <- data.frame() test.fn <- function(x,class.=class(x)) {class.} test.fn(fred) # "data.frame" test.fn(fred, class = "x") # "x" On 9/12/07, Sandy Weisberg <[EMAIL PROTECTED]> wrote: > Can anyone explain what I'm doing wrong here: > > > fred <- data.frame() > > class(fred) > [1] "data.frame" > > test.fn <- function(x,class=class(x)) {class} > > test.fn(fred) > Error in test.fn(fred) : promise already under evaluation: recursive > default argument reference or earlier problems? > > R 2.5.1 on both Windows and SUSE Linux. > > > -- > Sanford Weisberg, [EMAIL PROTECTED] > Office and mailing address: > University of Minnesota, School of Statistics > 312 Ford Hall, 224 Church St. SE, Minneapolis, MN 55455 > 612-625-8355, FAX 612-624-8868 > > St. Paul office: > 146 Classroom-Office Building, 612-625-8777 > > ______________________________________________ > 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.