R语言学习-函数


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

posted @ 2017-08-14 13:17  绪哥哥  阅读(199)  评论(0编辑  收藏  举报