回答于 2025-09-02
✅ R语言自定义函数超简单教程!手把手教你写🔥
🌟基本结构是这样滴👇
r 函数名 <- function(参数列表) { # 这里是执行的代码块 return(结果) # 可选的返回值 }
🌰举个栗子🥜:加法函数
r add_numbers <- function(a, b) { sum <- a + b # 计算两数之和 print(paste("结果是:", sum)) # 打印友好提示 return(sum) # 返还最终数值 }
调用方式👉🏻 add_numbers(3,5) # 输出"结果是:8"并返回8
💡进阶技巧大放送✨
1️⃣ 默认参数值(超实用!) r greet <- function(name="访客大人", times=1) { for(i in 1:times){ cat("欢迎光临,", name, "!\n") } }
只写greet()会用默认值 → 自动问候"访客大人"1次
2️⃣ 多行返回神器*(批量出结果必备) r stats_summary <- function(x) { c(mean=mean(x), median=median(x), max=max(x)) }
输入数值向量就能一次性get所有统计量啦!
3️⃣ 作用域小心机⛔️
记得把内部变量都用<<-赋值才能保存到全局环境哦~普通箭头<-只在函数内有效哒!
4️⃣ 文档注释规范📝(别人看得懂才是真的好代码) r #' 根据半径计算圆面积 #' @param r 数值型半径 >0 #' @return 面积值 circle_area <- function(r) {pi*r^2}
⚠️常见翻车现场🚨
▫️忘记加括号导致立即执行而不是定义函数❌
▫️参数名重复引发诡异bug👻
▫️该分号时分号!否则可能连着下一行一起执行…🤦🏻♀️
🎉实战测试题🔍
试着写出这个功能的函数:给定姓名和年龄,返回格式化字符串如“张三今年25岁啦!” (答案示例在评论区💬)