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:/adstatssource('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的倒序以及9A=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.mzph.cn/pingmian/6044.shtml

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

相关文章

UI-Diffuser——使用生成式扩散模型的UI原型设计算法解析

概述。 移动UI是影响参与度的一个重要因素,例如用户对应用的熟悉程度和使用的便利性。如果你有一个类似的应用程序,你可能会选择一个具有现代、好看的设计的应用程序,而不是一个旧的设计。然而,要从头开始研究什么样的UI最适合应…

[leetcode]Z 字形变换

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:string convert(string s, int numRows) {int n s.length(), r numRows;if (r 1 || r > n) {return s;}int t r * 2 - 2;int c (n t - 1) / t * (r - 1);vector<string> mat(r, string(c, 0)…

达梦(DM) SQL聚集函数及日期运算操作

达梦DM SQL聚集函数及日期运算操作 聚集函数MAX、MIN、SUM、AVG、COUNT使用分析函数 sum (…) over (order by…) 可以生成累计和更改累计和的值计算出现次数最多的值 日期运算加减日、月、年加减时、分、秒日期间隔之时、分、秒日期间隔之日、月、年求两个日期间的工作天数确定…

Java基础知识(三) -- 流程控制

不论哪种编程语言&#xff0c;都会提供两种基本的流程控制结构&#xff1a;分支结构和循环结构。其中分支结构用于实现根据条件来选择性地执行某段代码&#xff0c;循环结构则用于实现根据循环条件重复执行某段代码。 1. 顺序结构 任何编程语言中最常见的程序结构就是顺序结构…

单片机编程实例400例大全(100-200)

今天继续分享单片机编程实例第100-200例。 今天的实例会比前面100复杂一些&#xff0c;我大概看了下&#xff0c;很多都具备实际产品的参考价值。 今天继续分享单片机编程实例第100-200例。 今天的实例会比前面100复杂一些&#xff0c;我大概看了下&#xff0c;很多都具备实际…

频分复用系统设计及其MATLAB实现

引言 随着通信技术的飞速发展&#xff0c;通信系统的容量需求不断增长。频分复用&#xff08;Frequency Division Multiplexing, FDM&#xff09;作为一种重要的多路复用技术&#xff0c;被广泛应用于现代通信系统中。本文将介绍频分复用系统的设计原理&#xff0c;并展示如何…

简单工厂模式、工厂方法模式和抽象工厂模式

1、简单工厂模式 1.1 结构 简单工厂包含如下角色&#xff1a; 抽象产品 &#xff1a;定义了产品的规范&#xff0c;描述了产品的主要特性和功能。 具体产品 &#xff1a;实现或者继承抽象产品的子类 具体工厂 &#xff1a;提供了创建产品的方法&#xff0c;调用者通过该方法…

springBootAdmin监控

简介 用于对 Spring Boot 应用的管理和监控。可以用来监控服务是否健康、是否在线、以及一些jvm数据等等 Spring Boot Admin 分为服务端(spring-boot-admin-server)和客户端(spring-boot-admin-client)&#xff0c;服务端和客户端之间采用 http 通讯方式实现数据交互&#xf…

一文get等保测评与密评的差异

“等保”即网络安全等级保护&#xff0c;旨在通过不同安全等级的管理和技术措施&#xff0c;确保信息系统的安全稳定运行。我国于2017年颁布的《网络安全法》中第二十一条规定“国家实行网络安全等级保护制度”。法律要求网络运营者需按照网络安全等级保护制度要求&#xff0c;…

快讯! MySQL 8.4.0 LTS 发布(MySQL 第一个长期支持版本)

MySQL 第一个长期支持版本 8.4.0 LTS 发布&#xff0c;社区版下载地址&#xff1a; https://dev.mysql.com/downloads/mysql/ 功能变更 添加或更改的功能 组复制&#xff1a;与组复制相关的两个服务器系统变量的默认值已更改&#xff1a; 系统变量的默认值为 group_replication…

Unity开发一个FPS游戏之四

在前面的系列中&#xff0c;我已介绍了如何实现一个基本的FPS游戏&#xff0c;这里将继续进行完善&#xff0c;主要是增加更换武器以及更多动作动画的功能。 之前我是采用了网上一个免费的3D模型来构建角色&#xff0c;这个模型自带了一把AR自动步枪&#xff0c;并且自带了一些…

Vue Cli脚手架—安装Nodejs和Vue Cli

一&#xff0c;Vue Cli 文档地址: https://cli.vuejs.org/zh/ 二&#xff0c;.环境配置&#xff0c;搭建项目 1.安装node.js 2.下载 node.js10.16.3 地址: https://nodejs.org/en/blog/release/v10.16.3/ 3.安装 node.js10.16.3 , 直接下一步即可, 安装到 d:\program\nodejs…

jupyter notebook使用与本地位置设置

本地安装好Anaconda之后&#xff0c;自带的有Jupter notebook。 使用jupyter notebook 使用jupyter notebook时&#xff0c;可以直接打开或者搜索打开&#xff1a; 打开后&#xff0c;我们生成的或者编辑的一些文件&#xff0c;都可以看到&#xff0c;如下&#xff1a; j…

前端面试和一些建议

最近公司在招前端&#xff0c;我有跟着一起参与面试。我们主要负责面试的人&#xff0c;不会问那些什么闭包&#xff0c;原型链&#xff0c;他觉得那些东西在我们日常开发中用不到&#xff0c;问的基本都是一些工作中的问题。这些问题不是每次都问&#xff0c;但也就问这些了。…

Windows server2016关闭ie增强

要关闭Windows Server 2016上的IE增强安全配置&#xff0c;请按照以下步骤操作&#xff1a; 打开“服务器管理器”。点击“本地服务器”。在服务器管理器中&#xff0c;找到“IE增强的安全配置”&#xff0c;点击旁边的“启用”&#xff0c;打开“Internet Explorer增强的安全配…

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

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

QT5带UI的常用控件

目录 新建工程&#xff0c;Qmainwindow带UI UI设计器 常用控件区 Buttons 按钮 containers 容器 控件属性区域 对象监视区 布局工具区 信号与槽区 简单例子1 放置一个按钮控件&#xff0c;改文本为发送&#xff0c;该按键为Button1&#xff1b; 按钮关联信号和…

STM32开启停止模式,用外部中断唤醒程序运行

今天学习了一下STM32的停止模式&#xff0c;停止模式下&#xff0c;所有外设的时钟和CPU的电源都会被关闭&#xff0c;所以会很省电&#xff0c;打破这种停止模式的方式就是外部中断可以唤醒停止模式。要想实现这个功能&#xff0c;其实设置很简单的&#xff0c;总共就需要两步…

基于GWO灰狼优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络&#xff08;CNN&#xff09;在时间序列中的应用 4.2 长短时记忆网络&#xff08;LSTM&#xff09;处理序列依赖关系 4.3 注意力机制&#xff08;Attention&#xff09; 4…

Visio 2021 (64bit)安装教程

Visio 2021 (64bit)安装教程 ​ 通知公告 Visio 2021 (64位) 是一款流程图和图表设计工具,主要用于创建和编辑各种类型的图表和图形。它提供了一个直观的界面和丰富的功能,可以帮助用户快速绘制专业的流程图、组织结构图、网络图、平面图、数据库模型等。 具体来说,Visio 20…