R语言中自定义函数以及函数的加载

R语言中自定义函数以函数的加载调用

1、自定义函数

test1 <- function(x,y){
  a = (x + y)
  print(a)
}
test2 <- function(x, y){
  a = x - y
  print(a)
}
test3 <- function(x, y){
  a = x * y
  print(a)
}
test4 <- function(x, y){
  a = x / y
  print(a)
}

分别保存为4个文件 test1.r、test2.r、test3.r、test4.r。

 

2、函数的加载

dir()
source("test1.r")
source("test2.r")
source("test3.r")
source("test4.r")

 

 

 

 

3、函数的调用

(1)、默认位置参数

test1(10,20)   (默认情况下是位置参数)
test2(10,20)
test3(10,20)
test4(10,20)

 

 (2)、使用关键字参数

test2(x = 10, y = 20)   ## 关键字参数
test2(x = 20, y = 10)

 

 

(3)、修改test1.r,测试默认参数

复制代码
test1 <- function(x = 4, y){
  a = x + y
  print(a)
}
source("test1.r")

  test1(x = 10, y = 20)     
  test1(y = 20)    ## 不指定x的值时,默认参数 4起作用

复制代码

 

 

4、批量加载函数

方法1:

复制代码
remove(list = ls())
dir()
r <- dir()[substr(dir(),nchar(dir())-1,nchar(dir())) == ".r"]
r
for (i in 1:length(r)) {
  source(r[i])
}
复制代码

 

 

 

 

方法2:

rm(list = ls())
for (i in dir()) {
  if (substr(i, nchar(i)-1, nchar(i)) == ".r"){
    source(i)
  }
}

 

 

 

 

方法3:

复制代码
rm(list = ls())
library(stringi)
for (i in dir()) { if(stri_sub(i, -2, -1) == ".r"){ source(i) } }
复制代码

 

 

方法4:

rm(list = ls())
for (i in list.files(pattern=".r$")) {
  source(i)
}

 

 

 

posted @   小鲨鱼2018  阅读(3237)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示