我在R中认识*+* <- function(x,y){ x + y}
。
但是如果我想编写类似.print
的函数。
然后我可以使用print(iris)
来显示iris.print
。
如何在R中自定义函数?
答案 0 :(得分:2)
最简单的方法是使用R的R3类。
一个简单的例子。假设我们有一个新的数据类型---一个向量,我们希望将其打印为以逗号分隔的字符串。
x <- c(1, 2, 3)
# Assign a class attribute. The first element is the class of the object;
# the second element is the parent class
class(x) <- c("Foo", "numeric")
# Define the print method
print.Foo <- function(x) {
cat(paste(x, collapse = ", "), "\n")
}
# The method is called just like this
print(x)