R中的自定义函数function

函数语法

函数名<-function(parameters){

statemens

return(expression)}

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")

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="男");

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])

通过定义函数,实现了summary函数的加强版功能!

更多自编函数,参见Erin的自编函数整理,直接调用帮助你的数据分析工作事半功倍哦!

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
回答: 在R语言,用户可以通过自定义函数来实现各种功能。自定义函数的基本框架如下所示:myfunction <- function(arg1, arg2, ... ){ statements return(object) }其,myfunction是函数的名称,arg1、arg2等是函数的参数,statements是函数的语句,return(object)用于返回结果。例如,下面是一个随机数产生并画图的自定义函数的例子:function1 <- function(x,y){ plot(x,y) return(x+y) }当我们调用这个函数时,需要提供参数x和y,然后函数会绘制出对应的图形,并返回x和y的和。另外,RStudio还提供了函数抽取的功能,可以将选的代码段抽取为一个函数,并自动设置参数。这样可以提高代码的可读性和重用性。 #### 引用[.reference_title] - *1* [R语言系列:自定义function](https://blog.csdn.net/weixin_33920401/article/details/86250299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [R语言-编写自定义函数](https://blog.csdn.net/xiaohukun/article/details/76056366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值