R语言学习—4—数据矩阵及R表示

news2024/11/25 20:16:41

1、创建向量、矩阵

在这里插入图片描述
在R中,c()函数用于创建向量或组合数据对象。它在某些情况下可能会被省略,因为R有一些隐式的向量创建规则。例如,当你使用:操作符创建一个数字序列时,R会自动创建一个向量,所以你不需要显式地调用c()函数。

例如,a = 1:9就是一个隐式调用c()函数的例子,它创建了一个包含1到9的整数序列的向量。而在某些情况下,你可能需要显式地使用c()函数来组合元素,例如当你想要手动创建一个包含不连续元素的向量时,就需要使用c()函数了,比如 b = c(1, 3, 5, 7, 9)

结果

在这里插入图片描述
默认竖着s型填充
在这里插入图片描述

2、矩阵运算

在这里插入图片描述
在这里插入图片描述
运算结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

setwd("E:/adstats")   #设置自定义工作目录E:/adstats

source('msaR.R')                   #加载自定函数

# 第2章 多元数据的数学表达 ---------------------
## —— 2.3  数据矩阵及R表示 ----
#### 创建一个向量
x1=c(171,175,159,155,152,158,154,164,168,166,159,164)
x2=c(57,64,41,38,35,44,41,51,57,49,47,46)
length(x1)                         #向量的长度
mode(x1)                           #数据的类型
cbind(x1,x2)  #将两个或多个数据按列合并成一个数据库框
a=1:9; a
b=c(1,3,6:4,9); b#向量b含有1、3.6到4的倒序以及9

A=matrix(c(1,4,2,5,3,6),nrow=2,ncol=3); A   #生产2行3列的矩阵
matrix(x1,3,4)
matrix(x1,3,4,T)
#A=matrix(c(1,4,2,5,3,6),2,3); A   
B=matrix(c(1,2,3,4,5,6),3,2); B             #生产3行2列的矩阵
t(A)            #求矩阵转置

A[,1:2]+B[1:2,] #矩阵加法
A[,2:3]-B[2:3,] #矩阵减法
C=A%*%B;C       #矩阵相乘
D=B%*%A;D       #矩阵相乘

diag(D)         #获得矩阵对角线元素
I=diag(3);I     #创建3阶单位矩阵
solve(C)        #求矩阵的逆

D.e=eigen(D,symmetric=T); D.e  #求矩阵的特征值与特征向量(symmetric对称的意思)

D.e$vectors%*%diag(D.e$values)%*%t(D.e$vectors)#重构原始矩阵D
#特征向量矩阵U和特征
值矩阵D与原矩阵A的关系A=UDV'
#(A.c=chol(A))            #矩阵的Choleskey分解
#t(A.c)%*%A.c             #Choleskey分解矩阵V与原矩阵A.c的关系A.c=V'V
(A=matrix(1:18,3,6))     #创建矩阵
(A.s=svd(A))             #矩阵的奇异值分解
A.s$u%*%diag(A.s$d)%*%t(A.s$v) #矩阵的奇异值分解结果与原矩阵A的关系A=UDV'
(A=matrix(1:16,4,4))     #创建矩阵
qr(A)                    #矩阵的QR分解
(A=matrix(1:4,2,2))      #创建矩阵
(B=matrix(rep(1,4),2,2)) #创建矩阵
kronecker(A,B)           #矩阵的kronecker积
A=matrix(1:12,3,4)       #创建矩阵
dim(A)      #矩阵的维数
nrow(A)     #矩阵的行数
ncol(A)     #矩阵的列数
sum(A)      #矩阵求和
mean(A)     #矩阵求均值
rowSums(A)  #矩阵按行求和
rowMeans(A) #矩阵按行求均值
colSums(A)  #矩阵按列求和
colMeans(A) #矩阵按列求均值

A = matrix(rnorm(100),20,5); A
apply(A, 2, var)#对矩阵A的每一列应用var函数计算方差
B = matrix(1:12,3,4);B
apply(B, 2, function(x,a)x*a,a=2)

3、数据框合并

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、将剪切板的数据读入、将数据框写入csv文件

在这里插入图片描述
在这里插入图片描述

5、条形图、饼图、列联表

在这里插入图片描述
以上代码中所有图如下所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

绑定数据的目的和作用

attach(d2.1)是R编程中的一个命令,用于将名为d2.1的数据框绑定到搜索路径上。这意味着可以直接引用d2.1的列,而无需每次都指定数据框。

数据绑定的目的是简化编码,使其更易读,减少对数据框的重复引用。但是,务必谨慎使用,以避免潜在的冲突或混淆,特别是在较大的项目中。

6、多元数据的基本统计分析

在这里插入图片描述

Case2=read.xlsx('adcase.xlsx','Case2'); head(Case2)
Case2=read.table("clipboard",header = T); head(Case2)
summary(Case2)
T1=table(Case2$地区);T1
barplot(T1,col=1:4)
f=hist(Case2$月收入);f
boxplot(月收入~性别,Case2)
t.test(月收入~性别,Case2) #进行t检验,性别为自变量,月收入为因变量,假设检验
T2=table(Case2$性别,Case2$观点);T2
barplot(T2,beside=T,horiz = T,col=1:2)
T3=ftable(Case2$性别,Case2$教育程度,Case2$观点);T3
barplot(T3,beside=T,col=1:3)
text(x = barplot(T3, beside = TRUE, col = 1:3), y = T3, labels = T3, pos = 3)
legend("topright", legend = c("低学历", "高学历", "中学历"), fill = 1:3)
T4=ftable(Case2$教育程度,Case2$性别,Case2$观点);T4
barplot(T4,beside=T,col=1:3)
text(x = barplot(T4, beside = TRUE, col = 1:3), y = T4, labels = T4, pos = 3)
rm(f,T1,T2,T3,T4)#rm全称remove

条形图绘制注意事项

barplot(T2,beside=T,horiz = T,col=1:2)

在这里插入图片描述

T2:表示要绘制条形图的数据集。
beside=T:表示将多个条形图并排显示,而不是重叠显示。
horiz=T:表示将条形图水平显示,而不是垂直显示。
col=1:2:表示设置条形图的颜色,其中1代表第一种颜色,2代表第二种颜色。
这段代码的作用是将数据集T2的数据以水平并排的方式绘制成条形图,并使用两种不同的颜色进行区分。

barplot()对比

T3()

T3=ftable(Case2$性别,Case2$教育程度,Case2$观点);T3
barplot(T3,beside=T,col=1:3)
text(x = barplot(T3, beside = TRUE, col = 1:3), y = T3, labels = T3, pos = 3)
legend("topright", legend = c("低学历", "高学历", "中学历"), fill = 1:3)

topright代表图例在右上方
在这里插入图片描述

在这里插入图片描述

T4()

T4=ftable(Case2$教育程度,Case2$性别,Case2$观点);T4
barplot(T4,beside=T,col=1:3)
text(x = barplot(T3, beside = TRUE, col = 1:3), y = T3, labels = T3, pos = 3)

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1639684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超越数据的确定性:通过概率主成分分析拥抱不确定性

原文地址:beyond-determinism-in-data-embracing-uncertainty-with-probabilistic-principal-component-analysis 2024 年 4 月 24 日 主成分分析法(Principal Component Analysis,PCA)是一种统计方法,它可以通过正交…

蓝桥杯备战国赛1

开心的金明 火烧赤壁 南蛮图腾 #include<iostream> #include<algorithm> #include<cmath> using namespace std; int n, m; int v[30], k[30]; int arr[30010][30]; int main() {cin >> n >> m;for (int i 1;i < m;i){cin >> v[i] &g…

自定义表单元素组件内容变化触发ElForm重新校验

对于下图中“付费类型”怎么实现有很多种方式&#xff0c;我能想到的是以下两种&#xff1a; Element Plus的RadioButton自定义组件 1. RadioButton 它本质上就是一个单选组件&#xff0c;它跟Element Plus的RadioButton本质上没有区别&#xff0c;无非是外观上的差别。那么…

基于SpringBoot+Vue的旅游网站系统

初衷 在后台收到很多私信是咨询毕业设计怎么做的&#xff1f;有没有好的毕业设计参考?能感觉到现在的毕业生和当时的我有着同样的问题&#xff0c;但是当时的我没有被骗&#xff0c;因为现在很多人是被骗的&#xff0c;还没有出学校还是社会经验少&#xff0c;容易相信别人。…

BJFUOJ-C++程序设计-实验2-类与对象

A 评分程序 答案&#xff1a; #include<iostream> #include<cstring>using namespace std;class Score{ private:string name;//记录学生姓名double s[4];//存储4次成绩&#xff0c;s[0]和s[1]存储2次随堂考试&#xff0c;s[2]存储期中考试&#xff0c;s[3]存储期…

003 redis分布式锁 jedis分布式锁 Redisson分布式锁 分段锁

文章目录 Redis分布式锁原理1.使用set的命令时&#xff0c;同时设置过期时间2.使用lua脚本&#xff0c;将加锁的命令放在lua脚本中原子性的执行 Jedis分布式锁实现pom.xmlRedisCommandLock.javaRedisCommandLockTest.java 锁过期问题1乐观锁方式&#xff0c;增加版本号(增加版本…

香港立法會議員容海恩女士確定出席“邊緣智能2024 - AI開發者峰會”

隨著AI技術的飛速發展&#xff0c;全球正步入邊緣計算智能化與分布式AI深度融合的新紀元&#xff0c;共同演繹著分布式智能創新應用的壯麗篇章。在這一背景下&#xff0c;邊緣智能&#xff0c;作為融合邊緣計算和智能技術的新興領域&#xff0c;正逐漸成為推動AI發展的關鍵力量…

区块链 | IPFS:CID

&#x1f98a;原文&#xff1a;Anatomy of a CID &#x1f98a;写在前面&#xff1a;本文属于搬运博客&#xff0c;自己留存学习。 1 CID 在分布式网络中与其他节点交换数据时&#xff0c;我们依赖于内容寻址&#xff08;而不是中心化网络的位置寻址&#xff09;来安全地定位…

Flutter笔记:Widgets Easier组件库(5)使用加减器

Flutter笔记 Widgets Easier组件库&#xff08;5&#xff09;&#xff1a;使用加减器 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress…

项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)

1.主要内容 包括&#xff1a;组织通用治理、组织通用管理、法律法规与标准规范。 2.详细内容 第22章 组织通用治理 1分 第23章 组织通过管理 1分 第24章 法律法规与标准规范 2分

python+Pyppeteer+SpringBoot验证码自动识别登录(文末附源码)

效果如下&#xff1a; 实现流程&#xff1a; 一、Pyppeteer打开网址 import asyncio from pyppeteer import launch import pdb import random# 启动 Pyppeteer browser await launch({headless: False}) page await browser.newPage()# 打开登录页面 await page.goto(http…

【跟马少平老师学AI】-【神经网络是怎么实现的】(五)梯度消失问题

一句话归纳&#xff1a; 1&#xff09;用sigmoid激活函数时&#xff0c;BP算法更新公式为&#xff1a; 用sigmoid函数&#xff0c;O取值为0~1&#xff0c;O(1-O)最大值为0.25&#xff0c;若神经网络层数多&#xff0c;则会造成更新项趋近于0&#xff0c;称为梯度消失。 2&#…

蓝桥杯练习系统(算法训练)ALGO-950 逆序数奇偶

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 老虎moreD是一个勤于思考的青年&#xff0c;线性代数行列式时&#xff0c;其定义中提到了逆序数这一概念。不过众所周知我们…

I2C接口18路LED呼吸灯驱动IS31FL3218互相替代SN3218替换HTR3218

I2C接口18路LED呼吸灯控制电路IC 该型号IC为QFN24接口&#xff0c;属于小众产品&#xff0c;IS31FL3218、SN3218、HTR3218S管脚兼容&#xff0c;需要注意的是HTR3218管脚与其他型号不兼容。 I2C接口可实现多个LED灯的呼吸灯控制&#xff0c;可实现单色控制18个LED灯&#xff0…

场景文本检测识别学习 day06(Vi-Transformer论文精读、MAE论文阅读)

Vi-Transformer论文精读 在NLP领域&#xff0c;基于注意力的Transformer模型使用的非常广泛&#xff0c;但是在计算机视觉领域&#xff0c;注意力更多是和CNN一起使用&#xff0c;或者是单纯将CNN的卷积替换成注意力&#xff0c;但是整体的CNN 架构没有发生改变VIT说明&#x…

亚马逊关键字搜索商品列表API接口:探索海量商品的利器

亚马逊关键字搜索商品列表API接口允许开发者通过输入关键字或特定参数&#xff0c;在亚马逊平台上进行商品搜索&#xff0c;并返回符合搜索条件的商品列表信息。这些信息包括商品的标题、图片、价格、评价等&#xff0c;为商家、开发者以及市场分析师提供了丰富的商品数据支持。…

信息系统项目管理师0082:项目基础(6项目管理概论—6.2项目基本要素—6.2.1项目基础)

点击查看专栏目录 文章目录 6.2项目基本要素6.2.1项目基础1.独特的产品、服务或成果2.临时性工作3.项目驱动变更4.项目创造业务价值5.项目启动背景记忆要点总结6.2项目基本要素 6.2.1项目基础 项目是为创造独特的产品、服务或成果

【Java从入门到精通】Java 正则表达式

目录 正则表达式实例 &#x1f349;java.util.regex 包 &#x1f349;实例 &#x1f349;捕获组 &#x1f349;实例 &#x1f349;RegexMatches.java 文件代码&#xff1a; &#x1f349;正则表达式语法 &#x1f349;Matcher 类的方法 &#x1f349;索引方法 &#…

常用SQL命令

应用经常需要处理用户的数据&#xff0c;并将用户的数据保存到指定位置&#xff0c;数据库是常用的数据存储工具&#xff0c;数据库是结构化信息或数据的有序集合&#xff0c;几乎所有的关系数据库都使用 SQL 编程语言来查询、操作和定义数据&#xff0c;进行数据访问控制&…

一周零碎时间练习微服务(nacos,rq,springcloud,es等)内容

目录 1 总览1.1 技术架构1.2 其他1.2.1 数据库1.2.2 后端部分1.2.2.1 复习feign1.2.2.2 复习下网关网关的核心功能特性&#xff1a;网关路由的流程断言工厂过滤器工厂全局过滤器 过滤器执行顺序解决跨域问题 1.2.2.3 es部分复习 1.2.3 前端部分 2 day1 配置网关2.1 任务2.2 网关…