在r中rowsums_用R进行数据分析-05

0663d2d89e0b65293a9acfb816b18bbb.png

20-矩阵与数组

一、矩阵的定义

矩阵(Matrix)是一个按照长方阵列排列的复数或实数集。向量是一维的,而矩阵是二维的,需要有行和列。

R中,矩阵是有维数的向量,但元素必须拥有相同的模式,此和向量一致。

例:x<-1:20

构造4行5列的矩阵:

m<-matrix(x,nrow=4,ncol=5) 或m<-matrix(1:20,4,5)

矩阵默认按列分配,即上述结果为:

1 5 9 13 17

2 6 10 14 18

3 7 11 15 19

4 8 12 16 20

matrix(1:20,4,byrow=T)此按行分布,即输出结果如下(若为F则按列分布)

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

二、数组

x<-1:20

①dim(x) <- c(2,2,5) x此时变为三维数组

②构造数组:

dim1 <-c(“A1”,”A2”)

dim2<-c(“B1”,”B2”,”B3”)

dim3<-c(“C1”,”C2”,”C3”,”C4”)

Z <-array(1:24,c(2,3,4),dimnames=list(dim1,dim2,dim3))

③Titanic为R中内置数据集的数组

三、矩阵的索引

构造矩阵m<-matrix(1:20,4,5,byrow=T),即为

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

m[1,2] 即为2

m[1,c(2,3,4)] 第1行,2,3,4,列的数据

m[c(2:4),c(2,3)] 输出矩阵一个子集

m[2, ] 输出第2行数据

m[ ,2] 输出第2列数据

m[2] 默认输出第2行第1列的数,即6

m[-1,2] 即去除第1行,再取第2列

m+1,m*2 表示每个元素都乘以2

m+m 两个矩阵相加时,对应位置相加

若n <-matrix(1:20,5,4) ,则n+m会报错

colSums(m) 计算每一列的和

rowSums(m) 计算每一列的和

若构造m<-matrix(1:9,3,3) t<-matrix(2:10,3,3)

m*t 对应位置相乘,为矩阵内积

m %*% t 矩阵外积

diag(m) 返回对角线位置的值,即1,5,9

t(m) 将矩阵m转置,即行列互换

其他章节内容可以看我的个人微信公众号:全哥的学习生涯

21-列表

列表即一些对象的有序集合,可以存储若干向量、矩阵、数据框,甚至其他列表的组合。

① 在模式上与向量相似,都是一维数据集合

② 向量只能存储一种数据类型,列表中的对象则可以是R中的任何数据结构,甚至列表本身。

R内置数据集state.center即列表数据

创建列表:list()

③ 列表的访问

mlist<-list(a,b,c,d)

mlist[1] 即输出向量a

一次访问多个列表元素: mlist[c(1,4)]

也可用名称访问列表,即state.center[c(“x”,”y”)]

state.center $ x 访问列表的另一种形式

mlist[[1]] 此时的输出结果变为元素本身类型

class(mlist[1]); class(mlist[[1])) 可测试元素类型

若给列表赋值,比如如上两个中括号才可以

Mlist[[5]] <-删除列表元素

其他章节内容可以看我的个人微信公众号:全哥的学习生涯

22-数据框

一、数据框的概念

数据框是一种表格式数据结构,数据集通常是由是由数据构成的一个矩形数组,行表观测,列表变量。(记录与字段/事例与属性)

数据框实际上是一个列表,列表中的元素是向量,这些向量构成数据框的列,每一列必须具有相同长度,所以数据框是矩形结构,且数据框的列必须命名。数据框并不是矩阵,因为矩阵要求元素属性必须相同。

即:

(1) 数据框形状上很像矩阵

(2) 数据框是比较规则的列表

(3) 矩阵必须为同一数据类型

(4) 数据框每一列必须为同一类型,每一列则不必

R内置数据集iris,mtcars,rock即为数据框

创建数据框:state<-data.frame(state.name,state.abb,state.region,state.x77)

二、数据框的访问

state[1] 输出第1列数据

state[c(2,4)] 输出2,4列数据

state[-c(2,4)] 去除2,4列数据后再输出其他数据

利用行和列的名字也可以取出对应的行列

state[ ,”state.abb”]

plot(women$height,women$weight) 输出散点图

lm(weight ~height,data=women) 线性回归

attach(mtcars) 直接加载数据框的内容,之后直接敲列名即可,不用加$

rownames(mtcars) colnames(mtcars) 取行名与列名

with(mtcars,{mgg}) 取mtcars中的mgg列

其他章节内容可以看我的个人微信公众号:全哥的学习生涯

23-因子

① R中的变量可以分为:名义型变量(相互间独立,无顺序差别)、有序型变量(相互间有联系,但又并非连续型数值)、连续型变量

② 在R中连续型变量和有序型变量统称为因子,factor,这些分类变量的可能值称为一个水平level,例如good,better,best都称为一个level,由这些水平值构成的向量就称为因子(整个集合才称为因子),mtcars$cyl即为一个因子

③ 因子的最大作用是进行数据分类,计算频率与频数

④ 因子的应用:计算频数、独立性检验、相关性检验、方差分析、主成分分析、因子分析等等

⑤ table(mtcars$cyl) 可用于频数统计,因子即cyl,而因子的level为4,6,8

⑥ f <- factor(c(“red”,”yellow”,”green”)) 即因子类型的数据

⑦ plot(factor(mtcars$cyl)) 输出条形图

注意:向量输出散点图,而因子输出条形图

⑧ state.division、state.region为因子类型的数据

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

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

相关文章

python字典和集合对象可以进行索引操作_Python中的字典跟集合整理笔记

泛映射类型映射类型&#xff1a;不仅仅是dict&#xff0c;标准库里的所有映射类型都是利用dict来实现的&#xff0c;因此它们有个共同的限制&#xff0c;即只有可散列的数据类型才能用做这些映射的键。(只有键有这个需求&#xff0c;值并不需要必须是可散列的数据类型。)什么是…

JAVA入门级教学之(super的内存示意)

Super的原理&#xff1a; 代表的是当前对象this的父类型特征 如果类加载过程中&#xff0c;这个类有静态代码块&#xff0c;有静态变量&#xff0c;一律都会执行&#xff0c;系统会先分配空间 只要方法调用&#xff0c;就一定会进行方法压栈 new一个方法&#xff0c;其实是调用…

python博客项目评论_Python 爬虫入门——小项目实战(自动私信博客园某篇博客下的评论人,随机发送一条笑话,完整代码在博文最后)...

之前写的都是针对爬虫过程中遇到问题的解决方案&#xff0c;没怎么涉及到实际案例。这次&#xff0c;就以博客园为主题&#xff0c;写一个自动私信博客下的评论人员(在本篇留下的评论的同学也会被自动私信&#xff0c;如果不想被私信&#xff0c;同时又有问题&#xff0c;请私信…

JAVA入门级教学之(猜数字测试)

一个类A有一个实例变量v&#xff0c;从键盘接受一个正整数作为实例变量v的初始值 另外再定义一个类B&#xff0c;对类A的实例变量v进行猜测 如果大了则提示大了 如果小了则提示小了 等于则提示测试成功 猜测数字比大小的测试&#xff1a; /*** author LBJ* version V1.0* P…

硬盘突然提示没有初始化_新硬盘的分区

★前言如果你添加了一个新硬盘到电脑上&#xff0c;但是它没有在文件管理器中出现&#xff0c;你可能需要为它分配一个盘符&#xff0c;或者对它进行初始化并分区才能使用。★警告在分区时&#xff0c;”删除磁盘分区“和”格式化“都会清空该分区的数据&#xff0c;请提前备份…

正高职称 程序员_正高级工程师评审条件最新版

.精选范本正高级工程师评审条件申报条件&#xff1a;学历资历条件具有大学本科以上学历&#xff0c;取得高级工程师资格后&#xff0c;从事本专业工作满5年。外语、计算机、继续教育条件(一)按照规定参加国家统一组织的职称外语和计算机应用能力考试&#xff0c;取得合格证&…

JAVA入门级教学之(简单的程序测试)

请定义一个交通工具(Vehicle)类 其中有属性&#xff1a; 速度speed 体积size 方法移动move() 设置速度setSpeed(int speed) 加速speedUp() 减速speedDown() 最后在测试类Vehicle中的main() 中实例化一个交通工具对象&#xff0c;并通过方法给它初始化speed&#xff0c…

linux怎样判断线程是否暂停_怎样判断股市是否会继续下跌?

之前和大家分享了如何判断大市是否会上涨&#xff0c;这篇文章我再分享下如何判断大市是否会继续下跌。我们对大市的判断原则仍采用&#xff1a;基于技术分析判断危险信号&#xff0c;结合市场消息坐实。基于上一篇文章的基础如何判断股市是否会上涨&#xff1f;是否已跌到底&a…

hfss螺旋平面_利用HFSS设计平面等角螺旋天线

- 73 -利用HFSS设计平面等角螺旋天线杜起飞北京理工大学电子工程系 100081摘要&#xff1a;本文介绍了一种双臂平面等角螺旋天线的设计过程&#xff0c;利用ANSOFT HFSS对其结构进行了建模和仿真&#xff0c;工作频率为0.4GHz&#xff5e;3GHz&#xff0c;电压驻波比VSWR<2.…

JAVA进阶教学之(源码及API文档概述)

1.JDK类库的根类&#xff1a;Object 这个从老祖宗类中的方法我们需要先研究一下&#xff0c;因为这些方法都是所有子类通用的。 任何一个类默认继承Object 就算没有直接继承&#xff0c;也会间接继承 2.Object类中有哪些常用的方法呢&#xff1f; 第一种&#xff1a;去源代码中…

达梦数据库删除用户_达梦数据库的操作手册.docx

达梦数据库操作手册2013年12月15日达梦数据库安装服务器安装数据库安装注意问题数据库的安装路径不要直接放在操作系统的/目录相同的磁盘上&#xff0c;可以安装在/dmdb/dm&#xff0c;但是/dmdb要单独挂载在一块硬盘上。根据业务需要及数据量&#xff0c;数据文件放在磁盘空间…

Java俄罗斯方块

游戏规则 由小方块组成的不同形状的板块陆续从屏幕上方落下来&#xff0c;玩家通过调整板块的位置和方向&#xff0c;使它们在屏幕底部拼出完整的一条或几条。这些完整的横条会随即消失&#xff0c;给新落下来的板块腾出空间&#xff0c;与此同时&#xff0c;玩家得到分数奖励…

html鼠标悬停效果_【开发小技巧】023—如何使用HTML和CSS实现3D文字效果

来源 | https://www.geeksforgeeks.org/create-a-3d-text-effect-using-html-and-css/3D文字效果是网页设计领域中最常用的文字效果之一。作为设计师或前端开发人员&#xff0c;应该知道如何创建3D文字效果。今天&#xff0c;我们将研究一种最简单易用的方法来实现3D文字外观。…

JAVA进阶教学之(Object类的toString方法)

1.toString public String toString() 返回对象的字符串表示形式。总的来说&#xff0c;这 toString方法返回一个字符串&#xff0c;“以文本方式表示”这个对象。其结果应该是一个简洁&#xff0c;但详实的代表性&#xff0c;是一个容易阅读的人。 建议所有子类都重写此方法…

etcd nginx 容器_Etcd+Confd实现Nginx配置文件自动管理

一、需求我们使用Nginx做七层负载均衡&#xff0c;后端是Tomcat。项目采用灰度发布方式&#xff0c;每次项目升级&#xff0c;都要手动先从Nginx下摘掉一组&#xff0c;然后再升级这组&#xff0c;当项目快速迭代时&#xff0c;手动做这些操作显然会增加部署时间&#xff0c;于…

java ftp获取文件名的方法_小猿圈Java学习-URL地址的组成格式

URL的全称是Uniform Resource Locator&#xff0c;意思是统一资源定位符&#xff0c;俗称网络地址或网址。网络上的每个文件及接口&#xff0c;都有对应的URL网址&#xff0c;它规定了其他设备如何通过一系列的路径找到自己&#xff0c;犹如网购的包裹一路送至收货地址所描述的…

ceph编译_Ceph编译安装教程

Ceph官方版本目前支持的纠删码很有限&#xff0c;实验室这块希望能够整合我们自主开发的纠删码BRS(Binary Reed–Solomon encoding)&#xff0c;所以需要编译Ceph环境。Ceph官方目前推荐的安装方式都是通过Ceph-deploy的工具来安装配置&#xff0c;搭建起来十分简单。目前直接通…

JAVA进阶教学之(Object类中的equals方法)

public boolean equals(Object obj){return (this obj); } 原始equals方法是判断两个对象的内存地址是否相等的&#xff08;内存地址相等&#xff0c;保存的值也相等&#xff09; 比较是判断两个对象的值是否相等&#xff08;保存的值相等&#xff09; 在Object类中的equal…

hashmap扩容机制_图文并茂:HashMap经典详解!

点击上方 Java后端&#xff0c;选择 设为星标优质文章&#xff0c;及时送达代码中的注解多看几遍&#xff0c;其中HashMap的扩容机制是要必懂知识&#xff01;结合图片一起理解&#xff01;什么是 HashMap?HashMap 是基于哈希表的 Map 接口的非同步实现。此实现提供所有可选的…

python使用高阶函数实现_18.python高阶函数

什么是高阶函数&#xff1a;一个函数可以作为参数传给另外一个函数(一个函数可以用来接收另一个函数作为参数)&#xff0c;或者一个函数的返回值为另外一个函数(若返回值为该函数本身&#xff0c;则为递归)&#xff0c;满足其一则为高阶函数。函数的形参位置必须接受一个函数对…