R语言学习笔记(四)流程函数及自定义函数

简介: if(FALSE){条件执行}if(FALSE){if-else结构,多重判断}if(FALSE){对score进行等级判定}score = 65if(score >= 90){ print("Excellent...
if(FALSE){条件执行}
if(FALSE){if-else结构,多重判断}
if(FALSE){对score进行等级判定}
score = 65
if(score >= 90){
  print("Excellent!")
}else if(score >= 75){
  print("Good!")
}else if(score >= 60){
  print("Middle!")
}else{
  print("Failed!")}

if(FALSE){ifelse结构,使用:
    ifelse(cond, statement1, statement2)
    若cond为真,则执行statement1,否则,执行statement2.
}
score=55
ifelse(score >= 60, print("Passed!"), print("Failed!"))

if(FALSE){switch()结构}
city = 'BJ'
print(switch(city,
             'SH' = 'shanghai',
             'BJ' = 'beijing',
             'GZ' = 'guangzhou',
             'SZ' = 'shenzhen'))
if(FALSE){重复和循环}
if(FALSE){for结构,语法为:for(var in seq) statement}
for(i in 1:10){print("Hello world!")}

if(FALSE){while结构,语法为:while(cond) statement}
if(FALSE){while结构中的break,next命令,与C语言中的break,continue命令相同}
if(FALSE){计算1+2+...+100}
sum <- 0
i <- 0
while(i<= 100){
  sum <- sum+i
  i = i+1
}

if(FALSE){repeat()结构,在执行第一次循环的时候不管条件是否满足,均会执行一遍}
test_word <- 'Hello, welcome to the third class!'
cnt <- 2
repeat{
  print(test_word)
  cnt <- cnt+1
  if(cnt > 6){
    break
  }
}
if(FALSE){用户自定义函数,关键字为function,输入、返回的参数为任意的数据类型}
myfunc <- function(a,b,c){
  return(a+b+c)
}

print(myfunc(61,72,83))
if(FALSE){使用函数的一个例子}
if(FALSE){计算数据框df中的col列的总和,并以60为分界线判断是否通过,文件名为“delete.R”}
scoreGrade <- function(df, col){
  rows <- dim(df[col])[1]
  totalScore <- 0
  grade <- rep("0",rows)

  for(i in 1:rows){
    totalScore <- totalScore+df[i,col]
    grade[i] <- ifelse(df[i,col] >= 60, "passed", "failed")
  }

  print(paste("Sum of ",col," is ",totalScore,"."))
  return(cbind(df,grade))
}

使用的数据框为:
这里写图片描述
运行情况如下图:
这里写图片描述



本次分享到此结束,欢迎大家交流及批评~~

目录
相关文章
|
2月前
|
图形学
R语言其他相关函数(各函数解析含实例,可供查询)
R语言其他相关函数(各函数解析含实例,可供查询)
165 0
|
2月前
R语言绘图相关函数(含实例)
R语言绘图相关函数(含实例)
16 0
|
2月前
|
机器学习/深度学习
R语言使用 LOWESS技术图分析逻辑回归中的函数形式
R语言使用 LOWESS技术图分析逻辑回归中的函数形式
|
2月前
|
数据可视化
R语言用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
R语言用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
|
2月前
|
数据可视化
R语言可视化渐近正态性、收敛性:大数定律、中心极限定理、经验累积分布函数
R语言可视化渐近正态性、收敛性:大数定律、中心极限定理、经验累积分布函数
|
2月前
|
算法 Windows
R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
|
2月前
|
数据可视化
R语言广义相加(加性)模型(GAMs)与光滑函数可视化
R语言广义相加(加性)模型(GAMs)与光滑函数可视化
|
2月前
|
机器学习/深度学习 算法 数据可视化
R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类
R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类
|
2月前
|
数据可视化
R语言中使用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
R语言中使用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
|
2月前
|
数据可视化
R语言建模收入不平等:分布函数拟合及洛伦兹曲线(Lorenz curve)
R语言建模收入不平等:分布函数拟合及洛伦兹曲线(Lorenz curve)