尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
R语言基础语法入门
一、 基础操作与概念1. 赋值与输出在R语言中最标准的赋值符号是左箭头-。虽然等号也可以使用但在R社区中-是更为推荐的代码规范。# 1. 赋值x-10# 将10赋值给变量x (推荐)y20# 使用等号赋值 (合法但不推荐)30-z# 右箭头赋值 (较少使用)# 2. 输出print(x)# 使用print()函数输出x# 直接输入变量名按回车即可输出cat(x的值是:,x,\n)# cat()用于拼接字符串和变量输出\n为换行符2. 注释R语言只支持单行注释使用#符号。如果需要多行注释需要在每一行前面加上#。# 这是一个单行注释x-5# 这也是注释二、 基本数据类型 (Data Types)R语言中常用的基本数据类型有五种。可以使用class()或typeof()函数来查看变量的数据类型。Numeric (数值型)默认的数字类型包含小数。Integer (整型)表示整数需要在数字后加字母L声明。Character (字符型)文本字符串用双引号或单引号括起来。Logical (逻辑型)布尔值只有TRUE(或T) 和FALSE(或F)。Complex (复数型)包含实部和虚部。num-10.5# class: numericint-10L# class: integerchr-Hello R# class: characterlogi-TRUE# class: logicalcomp-32i# class: complex# 类型转换函数as.numeric(123)# 字符转数值as.character(123)# 数值转字符as.logical(1)# 数值转逻辑值 (0为FALSE非0为TRUE)三、 运算符1. 算术运算符(加),-(减),*(乘),/(除)^或**(指数/求幂)%%(求余数/模)%/%(整除)10%%3# 返回 1 (10除以3的余数)10%/%3# 返回 3 (10除以3的整数部分)2. 关系运算符返回值均为逻辑型 (TRUE或FALSE)。,,,,(等于),!(不等于)3. 逻辑运算符(元素级逻辑与)用于向量逐个元素比较。(标量逻辑与)只比较向量的第一个元素常用于if语句。|(元素级逻辑或)。||(标量逻辑或)。!(逻辑非/取反)。四、 核心数据结构这是R语言最核心的部分主要分为六大数据结构。R语言的索引从 1 开始而不是 0。1. 向量 (Vector)一维数组只能包含同一种数据类型。使用c()函数concatenate创建。# 创建向量vec_num-c(1,2,3,4,5)vec_chr-c(A,B,C)vec_seq-1:10# 快速生成1到10的整数序列vec_seq2-seq(1,10,by2)# 生成1, 3, 5, 7, 9# 向量索引vec_num[1]# 提取第1个元素返回 1vec_num[c(1,3)]# 提取第1和第3个元素vec_num[-1]# 提取除了第1个元素之外的所有元素# 向量化运算 (R语言的强项)vec_num*2# 所有元素均乘以2返回 2, 4, 6, 8, 102. 矩阵 (Matrix)二维数组只能包含同一种数据类型。# 创建一个 2行 3列 的矩阵按列填充 (默认)mat-matrix(1:6,nrow2,ncol3)# 创建矩阵按行填充mat_byrow-matrix(1:6,nrow2,ncol3,byrowTRUE)# 矩阵索引 mat[行, 列]mat[1,2]# 提取第1行第2列的元素mat[1,]# 提取整个第1行mat[,2]# 提取整个第2列3. 数组 (Array)多维数据结构只能包含同一种数据类型。# 创建一个 2×3×2 的三维数组arr-array(1:12,dimc(2,3,2))arr[1,2,1]# 提取第1维度的第1行第2列4. 列表 (List)一维集合可以包含不同类型的数据甚至可以包含向量、矩阵、函数或其他列表。# 创建列表my_list-list(nameTom,age25,scoresc(90,85,88))# 列表索引my_list[1]# 返回一个子列表 (class仍为list)my_list[[1]]# 返回列表第一个元素本身的值 (Tom)my_list$name# 使用 $ 符号通过名称提取元素 (最常用)5. 数据框 (Data Frame)二维表格数据类似于Excel表格。每一列可以是不同的数据类型但每一列的长度必须相同。这是R中处理数据的最常用结构。# 创建数据框df-data.frame(IDc(1,2,3),Namec(Alice,Bob,Charlie),Passedc(TRUE,FALSE,TRUE))# 数据框提取df$Name# 提取Name列 (返回向量)df[1,]# 提取第1行所有数据df[,Passed]# 提取Passed列df[df$ID1,]# 条件筛选提取ID大于1的行6. 因子 (Factor)用于存储分类数据Categorical data分为名义型无序和有序型。# 创建因子gender-factor(c(Male,Female,Male,Female))levels(gender)# 查看因子的水平 (类别): Female Male# 有序因子sizes-factor(c(Small,Large,Medium),levelsc(Small,Medium,Large),orderedTRUE)五、 控制流语句 (Control Flow)1. 条件判断 (if…else)x-10if(x0){print(正数)}elseif(x0){print(负数)}else{print(零)}**向量化条件函数ifelse()**非常适合对整个向量进行快速条件判断。# ifelse(条件, 满足条件时的返回值, 不满足时的返回值)scores-c(55,75,90)results-ifelse(scores60,Pass,Fail)# 返回: Fail Pass Pass2. 循环语句 (Loops)for 循环(最常用)for(iin1:5){print(i^2)}while 循环count-1while(count3){print(count)count-count1}控制循环的关键字break立即跳出整个循环。next跳过当前这一轮循环的剩余代码直接进入下一轮 (相当于其他语言的continue)。六、 函数 (Functions)除了R语言自带的丰富函数用户也可以自定义函数。使用function关键字定义。# 定义一个计算圆面积的函数calculate_area-function(radius){if(radius0){return(半径不能为负数)# 使用 return() 显式返回值}area-pi*radius^2area# 如果没有 return()函数会自动返回最后一行表达式的结果}# 调用函数calculate_area(5)设置默认参数power-function(base,exp2){# exp 默认为 2return(base^exp)}power(3)# 返回 9power(3,3)# 返回 27七、 常用内置基础函数速查数学统计sum(x),mean(x),median(x),sd(x),var(x): 求和、均值、中位数、标准差、方差。max(x),min(x),range(x): 最大值、最小值、范围。abs(x),round(x, digits2): 绝对值、保留两位小数。数据属性查看length(x): 向量/列表的长度。dim(x): 矩阵/数据框的维度 (行数和列数)。nrow(x),ncol(x): 行数、列数。str(x): 查看数据对象的内部结构 (非常实用)。summary(x): 输出对象的统计摘要。其他工具is.na(x): 判断数据中是否存在缺失值 (NA)。na.omit(x): 移除含有缺失值的行。help(函数名)或?函数名: 查看某个函数的官方帮助文档。
RELATED

相关推荐

K8S-公有云Serverless集群替代常驻节点

K8S-公有云Serverless集群替代常驻节点

公有云Serverless集群替代常驻节点极致降本实操技术栈:Kubernetes v1.32.13 Rocky Linux 8.6 公私云成本优化 Containerd 1.7.x操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案公有云Serverless集群替代常驻节点极致降本实操操作环…

📅 2026/10/2 7:05:18
浙江正泰中自控制工程有限公司在杭州的口碑怎么样,实力如何

浙江正泰中自控制工程有限公司在杭州的口碑怎么样,实力如何

在双碳战略深入推进、产业数字化浪潮奔涌的时代背景下,工业自动化与数智低碳技术正成为推动制造业转型升级、实现绿色发展的关键力量。作为中国自动化与数智化行业的深耕者,浙江正泰中自控制工程有限公司(简称正泰中自)立足杭州这片创新热土,…

📅 2026/10/2 7:05:18
CSDN首页发布文章CSDN同步助手【无人机】四旋翼无人机的几何跟踪控制研究(Matlab代码实现)32 / 100摘要:会在推荐、列表等场景外露,帮助读者快速了解内容,支持一键将正

CSDN首页发布文章CSDN同步助手【无人机】四旋翼无人机的几何跟踪控制研究(Matlab代码实现)32 / 100摘要:会在推荐、列表等场景外露,帮助读者快速了解内容,支持一键将正

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

📅 2026/10/2 7:05:18
MORE NEWS

更多资讯

📰

小超市店主提问:AI真的懂零售吗

坐标某三线城市,社区超市店主,店开在小区门口第八年。标题这个问题我替各位店主问过了——答案是:它懂的不是零售,是您店里那点事。亲身经历,往下看。 我为什么怀疑 开店的都知道,零售这事看着简单&#xf…

📰

定投还是梭哈?给金融小白的“加密资产”配置指南(附风险测评)

扎心一问:你身边是不是总有这样的人——2021年牛市顶峰All in冲进去,结果腰斩再腰斩,到现在还在山顶吹冷风?😭说白了,加密市场最不缺的就是“一夜暴富”的故事,但更不缺的是“一把梭哈、天台排队…

📰

链上转账出错能撤回吗?这4个“不可逆”的瞬间,碰到一个就血本无归

转账地址填错一个字母,你的钱就永远没了——这不是吓唬你,这是区块链世界里每天都在发生的真实悲剧。你猜怎么着?就在上个月,有个哥们儿把 12 个比特币(价值约 80 万人民币)转错地址,结果对方账…

📰

串口与CAN总线:协议架构、通信机制与工程选型的深度比较

目录 1 引言 2 协议架构与标准定位 2.1 串口:物理层与字符级协议的松散组合 2.2 CAN:覆盖数据链路层的完整总线协议 3 物理层与电气特性比较 3.1 信号传输方式 3.2 终端匹配与传输线效应 3.3 电气特性对比 4 数据链路层与帧结构比较 4.1 帧格式…

📰

Android 13 Launcher3 Hotseat布局方向定制:从底部横排到左侧竖排

做定制ROM这些年,Launcher里的Hotseat是我改得最多、也最容易翻车的一块。Hotseat就是手机最底下那排固定应用栏,源码里叫Hotseat,圈子里习惯叫Dock。Android 13的Launcher3代码结构比老版本复杂不少,很多项目从旧版本升级过来以后…

📰

Ghostfolio 仓库 Angular 端到端(E2E)测试接入实战:框架选型、ng add 配置与运行指南

后端前端金融科技数据可视化 【免费下载链接】ghostfolio Open Source Wealth Management Software. Angular NestJS Prisma Nx TypeScript 🤍 项目地址: https://gitcode.com/GitHub_Trending/gh/ghostfolio 点击查看 免费下载 本篇技术指南围绕 e…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬