printLine <- function () {
print("--------------------------------------------");
}
#函数的调用
printLine();
#错误:无参函数,有参调用
printLine("parameter");
printNLines <- function (n) {
for(i in 1:n) {
print("--------------------------------------------");
}
}
#错误:有参函数,无参调用
printNLines()
printNLines(3)
printNLines <- function (n=1) {
for(i in 1:n) {
print("--------------------------------------------");
}
}
#正确:有参函数,因为有默认值,可以无参调用
printNLines()
#也可以有参数调用
printNLines(3)
printInfo <- function (name, age) {
print(paste("name is: ", name, ", age is: ", age, sep=""))
}
printInfo("KEN", 18)
printInfo(age=18, name="KEN")
...代表后面还有未知个数的参数,可以使用names()获取list的每个名称,然后通过list[key]方式获得值
printInfo <- function (name, age, ...) {
print(paste("name is: ", name, ", age is: ", age, sep=""));
otherParames = list(...);
for(key in names(otherParames)) {
print(paste(key, " is: ", otherParames[key], sep=""));
}
}
printInfo("KEN", 18, height="178CM", weight="75KG", sex="男");
summary是获取数据的统计信息,包含: Min. 1st Qu. Median Mean 3rd Qu. Max. 最小值,最大值,四分位数,默认summary是没有方差和标准差的,可以通过后面的方法增强一下,在里面赋值方差和标准差
data <- read.csv("data.csv", sep=",", fileEncoding=‘utf8‘);
summary(data[,3])
#summary加强版
summaryEx <- function(column) {
s <- summary(column)
#方差
s[[‘var‘]] <- var(column);
#标准差
s[[‘sd‘]] <- sd(column);
#s #直接写个s也可以替代下面的语句
return (s);
}
summaryEx(data[, 3])
输出:
Min. 1st Qu. Median Mean 3rd Qu. Max. var
96.00 115.00 120.00 121.08 131.00 140.00 154.91
sd
12.45