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

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.mfbz.cn/a/589421.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《QT实用小工具·五十二》文本或窗口炫酷有趣的滚动条——果冻条

1、概述 源码放在文章末尾 该项目实现了文本或窗口纤细的滚动条——果冻条 一个可以像弓弦一样拉出来,并且来回弹动的普通滚动条。 思路为此,但发现实际效果更像条状果冻,并且略有谐音, 故,称之为——“果冻条”&am…

条件依赖性的方法示例

5个条件判断一件事情是否发生,每个条件可能性只有2种(发生或者不发生),计算每个条件对这件事情发生的影响力,条件之间有很强的依赖关系。 例一 如果条件之间有很强的依赖关系,那么简单地计算每个条件独立的…

初探 Google 云原生的CICD - CloudBuild

大纲 Google Cloud Build 简介 Google Cloud Build(谷歌云构建)是谷歌云平台(Google Cloud Platform,GCP)提供的一项服务,可帮助开发人员以一致和自动化的方式构建、测试和部署应用程序或构件。它为构建和…

B树:原理、操作及应用

B树:原理、操作及应用 一、引言二、B树概述1. 定义与性质2. B树与磁盘I/O 三、B树的基本操作1. 搜索(B-TREE-SEARCH)2. 插入(B-TREE-INSERT)3. 删除(B-TREE-DELETE) 四、B树的C代码实现示例五、…

基于 Wireshark 分析 IP 协议

一、IP 协议 IP(Internet Protocol)协议是一种网络层协议,它用于在计算机网络中实现数据包的传输和路由。 IP协议的主要功能有: 1. 数据报格式:IP协议将待传输的数据分割成一个个数据包,每个数据包包含有…

mac电脑关于ios端的appium真机自动化测试环境搭建

一、app store 下载xcode,需要登录apple id 再开始下载 二、安装homebrew 1、终端输入命令&#xff1a; curl -fsSL <https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh>如果不能直接安装&#xff0c;而是出现了很多内容&#xff0c;那么这个时候不要着急&…

06.Git远程仓库

Git远程仓库 #仓库种类&#xff0c;举例说明 github gitlab gitee #以这个仓库为例子操作登录码云 https://gitee.com/projects/new 创建仓库 选择ssh方式 需要配置ssh公钥 在系统上获取公钥输入命令&#xff1a;ssh-keygen 查看文件&#xff0c;复制公钥信息内…

【画图】读取无人机IMU数据并打印成log用matlab分析

一、修改IMU频率 原来的imu没有加速度信息&#xff0c;查看加速度信息的指令为&#xff1a; rostopic echo /mavros/imu/data 修改imu频率&#xff0c;分别修改的是 原始IMU数据话题 /mavros/imu/data_raw。飞控计算过后的IMU数据 /mavros/imu/data rosrun mavros mavcmd l…

Uniapp好看登录注册页面

个人介绍 hello hello~ &#xff0c;这里是 code袁~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的…

【Linux-点灯烧录-SD卡/USB烧写】

目录 1. 烧写方式2. 烧写之代码编译2.1 led.s->led.o2.2 led.o->led.elf2.3 led.elf->led.bin2.4 反汇编&#xff1a;led.elf->led.dis 3. 烧写之烧录到SD卡上&#xff1a;3.1 开启烧录软件权限&#xff1a;3.2 确定SD卡的格式&#xff1a;FAT323.3 烧录到SD卡上3.…

makefile中wildcard函数和patsubst用法

makefile中函数用法 makefile中函数的调用语法&#xff1a; $(<function> <arguments>) 或 ${<function> <arguments>}函数调用以$开头用{}或者()将函数名以及参数包含起来函数名和第一个参数之间以空格分隔参数之间使用逗号分隔 wildcard函数 wil…

python判断大图中包含小图并输出位置总结

python判断大图中包含小图并输出位置总结 没啥可说的&#xff0c;项目遇到了就直接上代码&#xff0c;可以减轻劳动力&#xff0c;花最少得时间实现应用功能。 import cv2 # 读取大图片和小图片的路径 img_big cv2.imread(big_image.png) img_small cv2.imread(small_image…

VScode+ubuntu配置ROS开发环境

VScodeubuntu配置ROS开发环境 写在前面 在vscode中先安装几个插件&#xff1a;中文语言包、Python插件、C插件、CMake插件、vscode-icons、ROS插件、Visual Studio IntelliCode、URDF、Markdown All in One 一、工作空间是什么 在ROS机器人开发中&#xff0c;我们针对机器人…

ue引擎游戏开发笔记(27)——解决角色移动及转动存在卡顿掉帧小技巧

1.需求分析&#xff1a; 随之游戏越来越大&#xff0c;难免出现部分时候移动出现卡顿&#xff0c;能否进行一定优化。 2.操作实现&#xff1a; 1.思路&#xff1a;采取捕获最后deltaseconds来逐帧进行旋转或移动&#xff0c;使动作显得不那么卡顿。 .2.首先在引擎中建立映射&a…

第一课 自动驾驶概述

1. contents 2. 什么是无人驾驶/自动驾驶 3 智慧出行大智慧 4. 无人驾驶的发展历程

24.5.2数据结构|顺序表实现

主要是记笔记&#xff0c;留着以后复习回来看的&#xff0c;有些内容解释的并不清晰。也就稍微可以借鉴借鉴。 一、如何定义结构&#xff1f; 应该有的部分用来约束的部分 二、看书搞清楚顺序表实现流程 1、准备工作&#xff1a;如何定义结构体&#xff1f;SeqList&#xf…

Acrobat Pro DC 2023:专业PDF编辑软件,引领高效办公新时代

Acrobat Pro DC 2023是一款专为Mac和Windows用户设计的专业PDF编辑软件&#xff0c;凭借其强大的功能和卓越的性能&#xff0c;成为现代职场人士不可或缺的得力助手。 这款软件拥有出色的PDF编辑能力。用户不仅可以轻松地对PDF文档中的文字、图片和布局进行编辑和调整&#xf…

【Vue】结合ElementUI实现简单数据请求和页面跳转功能

一、准备工作 1、创建一个Vue-cli程序 之前的博客有。各位看官姥爷&#xff0c;可以自查。 2、安装ElementUI 在创建Vue-cli程序的过程中&#xff0c;需要在控制台执行以下指令&#xff1a; #安装 element-ui npm i element-ui -S #安装 SASS 加载器 cnpm install sass-loa…

[实例] Unity Shader 利用顶点着色器模拟简单水波

我们都知道顶点着色器可以用来改变模型各个顶点的位置&#xff0c;那么本篇我们就利用顶点着色器来做一个模拟简单水波的应用。 1. 简谐运动 在进行模拟水波之前&#xff0c;我们需要了解简谐运动&#xff08;Simple Harmonic Motion&#xff09;公式&#xff1a; 其中&#…

【跟马少平老师学AI】-【神经网络是怎么实现的】(四)卷积神经网络

一句话归纳&#xff1a; 1&#xff09;用1个小粒度的模式&#xff0c;逐个与图像的局部区域进行运算&#xff0c;运算结果反映模式与区域的匹配程度。 2&#xff09;卷积神经网络与全连接神经网络的区别&#xff1a; 卷积神经网络的输出只与局部输入有连接。参数较少&#xff0…
最新文章