【R语言基础操作】
🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972
个人介绍: 研一|统计学|干货分享
擅长Python、Matlab、R等主流编程软件
累计十余项国家级比赛奖项,参与研究经费10w、40w级横向
文章目录
- 1 数据读取
- 2 写数据
- 3 数据的四则运算
- 3.1 加法
- 3.2 减法
- 3.3 乘法
- 3.4 除法
- 3.5 综合算法
- 3.6 余数
- 3.7 整除
- 3.8 整除
- 3.9 判断正负
- 3.10 幂指数
- 3.11 平方根
 
- 4 向量
- 4.1 普通向量
- 4.2 逻辑向量
- 4.3 向量填充
 
- 5 向量的运算
- 5.1 加法
- 5.2 减法
- 5.3 乘法
- 5.4 除法
- 5.5 内积
- 5.6 外积
 
- 6 矩阵
- 6.1 普通矩阵
- 6.2 转置矩阵
- 6.3 子矩阵
- 6.5 对角矩阵
- 6.6 单位矩阵
 
- 7 矩阵运算
- 7.1 矩阵加法
- 7.2 矩阵减法
- 7.3 矩阵除法
- 7.4 矩阵乘法
- 7.5 两矩阵相乘
 
- 8 数据框
- 8.1 数据框创建
- 8.2 数据框取数
 
该篇文章主要演示R语言中的基本数据操作方法,建议收藏!
文章包括:数据读取;数据基本的四则运算;向量操作及运算;矩阵操作及运算;数据框操作等方法。
1 数据读取
运行程序:
data<- read.csv ( "G:\\Fonts\\Book1.csv")
head(data)
运行结果:
##   X1 X2
## 1  2  5
## 2  2  2
## 3  3  7
## 4  4  0
## 5  4  2
2 写数据
运行程序:
data1<-data.frame(1,2,2)
fix(data1)                           #直接写入data2<-read.table("clipboard", header = T,sep = '\t')
head(data2)                          #通过粘贴板内容写入
运行结果:
##   X119.367781 X25.99242
## 1    119.3678  25.99242
## 2    119.3678  25.99242
## 3    119.3678  25.99242
## 4    119.3678  25.99242
## 5    119.3678  25.99242
3 数据的四则运算
3.1 加法
运行程序:
a1=20
a2=4
a1+a2              #加法
运行结果:
## [1] 24
3.2 减法
运行程序:
a1-a2              #减法
运行结果:
## [1] 16
3.3 乘法
运行程序:
a1*a2              #乘法
运行结果:
## [1] 80
3.4 除法
运行程序:
a1/a2              #除法
运行结果:
## [1] 5
3.5 综合算法
运行程序:
(3+5/4)**2-6       #综合算法
运行结果:
## [1] 12.0625
3.6 余数
运行程序:
5%%2               #余数
运行结果:
## [1] 1
3.7 整除
运行程序:
5%/%2              #整除
运行结果:
## [1] 2
3.8 整除
运行程序:
abs(-3)            #绝对值
运行结果:
## [1] 3
3.9 判断正负
运行程序:
sign(3)            #判断正负
运行结果:
## [1] 1
3.10 幂指数
运行程序:
3^2                #幂指数
运行结果:
## [1] 9
3.11 平方根
运行程序:
sqrt(4)            #平方根
运行结果:
## [1] 2
4 向量
4.1 普通向量
运行程序:
## [1] 5 3 4 2
运行结果:
## [1] 2
4.2 逻辑向量
运行程序:
y<-c(TRUE,FALSE,TRUE);y    #逻辑向量
运行结果:
## [1]  TRUE FALSE  TRUE
4.3 向量填充
运行程序:
numeric(5)                 #填充5个0向量
运行结果:
## [1] 0 0 0 0 0
5 向量的运算
5.1 加法
运行程序:
a1<-c(12,18,32,24)
a2<-c(3,6,2,4)
a1+a2                      #加法
运行结果:
## [1] 15 24 34 28
5.2 减法
运行程序:
a1-a2                      #减法
运行结果:
## [1]  9 12 30 20
5.3 乘法
运行程序:
a1*a2                      #乘法
运行结果:
## [1]  36 108  64  96
5.4 除法
运行程序:
a1/a2              #除法
运行结果:
## [1]  4  3 16  6
5.5 内积
运行程序:
a1%*%a1                    #内积
运行结果:
##      [,1]
## [1,] 2068
5.6 外积
运行程序:
a1%o%a2                    #外积
运行结果:
##      [,1] [,2] [,3] [,4]
## [1,]   36   72   24   48
## [2,]   54  108   36   72
## [3,]   96  192   64  128
## [4,]   72  144   48   96
6 矩阵
6.1 普通矩阵
运行程序:
A<-matrix(1:12,ncol=4,nrow=3,byrow=TRUE);
A                 #普通矩阵
运行结果:
##      [,1] [,2] [,3] [,4]
## [1,]    1    2    3    4
## [2,]    5    6    7    8
## [3,]    9   10   11   12
6.2 转置矩阵
运行程序:
t(A)              #转置矩阵
运行结果:
##      [,1] [,2] [,3]
## [1,]    1    5    9
## [2,]    2    6   10
## [3,]    3    7   11
## [4,]    4    8   12
6.3 子矩阵
运行程序:
A[1:2,c(1,2,3)]   #子矩阵
运行结果:
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    5    6    7
6.5 对角矩阵
运行程序:
C=matrix(1:9,nrow = 3,ncol = 3,byrow = T);diag(C)
diag(c(1:3))
运行结果:
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    2    0
## [3,]    0    0    3
6.6 单位矩阵
运行程序:
diag(3)           #单位矩阵
运行结果:
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1
7 矩阵运算
7.1 矩阵加法
运行程序:
A<-matrix(1:9,ncol=3,nrow=3,byrow=TRUE)
B<-matrix(4:12,ncol=3,nrow=3,byrow=TRUE)
A+B               #矩阵加法
运行结果:
##      [,1] [,2] [,3]
## [1,]    5    7    9
## [2,]   11   13   15
## [3,]   17   19   21
7.2 矩阵减法
运行程序:
A-B               #矩阵减法
运行结果:
##      [,1] [,2] [,3]
## [1,]   -3   -3   -3
## [2,]   -3   -3   -3
## [3,]   -3   -3   -3
7.3 矩阵除法
运行程序:
A/B               #矩阵除法
运行结果:
##           [,1]      [,2]      [,3]
## [1,] 0.2500000 0.4000000 0.5000000
## [2,] 0.5714286 0.6250000 0.6666667
## [3,] 0.7000000 0.7272727 0.7500000
7.4 矩阵乘法
运行程序:
A*B               #矩阵乘法
运行结果:
##      [,1] [,2] [,3]
## [1,]    4   10   18
## [2,]   28   40   54
## [3,]   70   88  108
7.5 两矩阵相乘
运行程序:
A%*%B             #矩阵A乘以矩阵B
运行结果:
##      [,1] [,2] [,3]
## [1,]   48   54   60
## [2,]  111  126  141
## [3,]  174  198  222
8 数据框
8.1 数据框创建
运行程序:
d=data.frame(name=c("小李","小张","小民"),age=c(18,19,16),height=c(175,172,177));d
运行结果:
##   name age height
## 1 小李  18    175
## 2 小张  19    172
## 3 小民  16    177
8.2 数据框取数
运行程序:
d[1,2]
运行结果:
## [1] 18
相关文章:
【R语言基础操作】
🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享 擅长Python、Matlab、R等主流编程软件 累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…...
 
sqlite 常见命令 表结构
在 SQLite 中,将表结构保存为 SQL 具有一定的便捷性和重要性,原因如下 便捷性: 备份和恢复:将表结构保存为 SQL 可以方便地进行备份。如果需要还原或迁移数据库,只需执行保存的 SQL 脚本,就可以重新创建表…...
基于深度学习的车辆检测技术
基于深度学习的车辆检测技术是现代智能交通系统的重要组成部分,它利用计算机视觉和机器学习算法,特别是深度学习模型,来识别和定位图像或视频中的车辆。这项技术广泛应用于自动驾驶、交通监控、违章抓拍等多个领域。 深度学习车辆检测技术的…...
MyBatis 之三:配置文件详解和 Mapper 接口方式
配置文件 MyBatis 的配置文件是 XML 格式的,它定义了 MyBatis 运行时的核心行为和设置。默认的配置文件名称为 mybatis-config.xml,该文件用于配置数据库连接、事务管理器、数据源、类型别名、映射器(mapper 文件)以及其他全局属性…...
 
【PyTorch】基础学习:一文详细介绍 torch.load() 的用法和应用
【PyTorch】基础学习:一文详细介绍 torch.load() 的用法和应用 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程ὄ…...
事务、并发、锁机制的实现
配置全局事务 DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: mydb,USER:root,PASSWORD:pass,HOST:127.0.0.1,PORT:3306,ATOMIC_REQUESTS: True, # 全局开启事务,绑定的是http请求响应整个过程# (non_atomic_requests可局部实现不让事务控制)} } …...
 
PC-DARTS: PARTIAL CHANNEL CONNECTIONS FOR MEMORY-EFFICIENT ARCHITECTURE SEARCH
PC-DARTS:用于内存高效架构搜索的部分通道连接 论文链接:https://arxiv.org/abs/1907.05737 项目链接:https://github.com/yuhuixu1993/PC-DARTS ABSTRACT 可微分体系结构搜索(DARTS)在寻找有效的网络体系结构方面提供了一种快速的解决方案…...
 
git的下载与安装
下载 首先,打开您的浏览器,并输入Git的官方网站地址 点击图标进行下载 下载页面会列出不同操作系统和平台的Git安装包。根据您的操作系统(Windows、macOS、Linux等)和位数(32位或64位),选择适…...
 
windows文档格式转换的实用工具
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...
四级缓存实现
CommandLineRunner接口的run方法 什么是多级缓存? 多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Server端的压力,提升服务性能。 一级缓存:1.CDN:内容分发网络 二级缓存:2.NGINX+Lua脚本+OpenResty服务器 负载均衡反向代理【静态和转发】 三级缓存:J…...
程序员如何规划职业赛道?
在快速发展的信息技术时代,程序员作为数字世界的构建者,面临着前所未有的职业选择和发展机会。选择合适的职业赛道,不仅关乎个人职业发展的高度和速度,更影响着个人职业生涯的满意度和幸福感。本文将从自我评估与兴趣探索、市场需…...
蓝桥杯day3刷题日记--P9240 冶炼金属
P9240 [蓝桥杯 2023 省 B] 冶炼金属 经典二分,先在第一组中找到最小值,在利用最小值限制范围寻找最大值 #include <iostream> #include <algorithm> using namespace std; int n,kk; int m[10001],num[10001]; int maxs,mins;bool check1…...
 
Mybatis-xml映射文件与动态SQL
xml映射文件 动态SQL <where><if test"name!null">name like concat(%,#{name},%)</if><if test"username!null">and username#{username}</if></where> <!-- collection:遍历的集合--> <!-- …...
 
MySQL_数据库图形化界面软件_00000_00001
目录 NavicatSQLyogDBeaverMySQL Workbench可能出现的问题 Navicat 官网地址: 英文:https://www.navicat.com 中文:https://www.navicat.com.cn SQLyog 官网地址: 英文:https://webyog.com DBeaver 官网地址&…...
流媒体学习之路(WebRTC)——FEC逻辑分析(6)
流媒体学习之路(WebRTC)——FEC逻辑分析(6) —— 我正在的github给大家开发一个用于做实验的项目 —— github.com/qw225967/Bifrost目标:可以让大家熟悉各类Qos能力、带宽估计能力,提供每个环节关键参数调节接口并实现一个json全…...
 
command failed: npm install --loglevel error --legacy-peer-deps
在使用vue create xxx创建vue3项目的时候报错。 解决方法,之前使用的https://registry.npm.taobao.org 证书过期更换镜像地址即可 操作如下: 1.cd ~2.执行rm .npmrc3. sudo npm install -g cnpm --registryhttp://registry.npmmirror.com…...
 
KubeSphere集群安装-nfs分布式文件共享-对接Harbor-对接阿里云镜像仓库-遇到踩坑记录
KubeSphere安装和使用集群版 官网:https://www.kubesphere.io/zh/ 使用 KubeKey 内置 HAproxy 创建高可用集群:https://www.kubesphere.io/zh/docs/v3.3/installing-on-linux/high-availability-configurations/internal-ha-configuration/ 特别注意 安装前注意必须把当前使…...
 
Epuck2机器人固件更新及IP查询
文章目录 前言一、下载固件更新软件包:二、查询机器人在局域网下的IP 前言 前面进行了多机器人编队仿真包括集中式和分布式,最近打算在实物机器人上跑一跑之前的编队算法。但由于Epuck2机器人长时间没使用,故对其进行固件的更新,…...
 
C goto 语句
C 语言中的 goto 语句允许把控制无条件转移到同一函数内的被标记的语句。 注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语…...
 
【排序算法】-- 深入理解桶排序算法
概述 在计算机科学中,排序算法是一种对数据进行有序排列的重要技术。桶排序(Bucket Sort)是一种常见的排序算法,它通过将数据分到有限数量的桶中,并对每个桶中的数据分别排序,最后按照顺序将所有桶中的数据…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
 
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
 
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
 
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
