R语言中的matrix(矩阵),list(列表),data.frame(数据框)总结
一、R语言中的矩阵matrix是一个二维的数组array,因此数组array的一些操作它也适用。
①它与array相比,特有的是矩阵的一些运算,例如:
求维度:dim(A)
转置:t(A)
求行列式:det(A)
矩阵相乘:x%*%y
对角运算:diag(A)
求逆:solve(A,b)
求特征值和特征向量:eigen(A)
奇异值分解:svd(A)
②在多维数组中,apply函数可以只针对行或者列进行运算:
> A=matrix(1:6,nrow=2);A
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> apply(A,1,sum)
[1] 9 12
> apply(A,2,mean)
[1] 1.5 3.5 5.5
第一个是对列求和,第二个是对行求均值。
二、列表list
列表是一种很特别的对象集合,每个元素的类型可以不同,元素本身可以允许是更复杂的数据类型,它的元素也可以是一个列表,(个人认为,与python中的list差不多)比如:
> LST=list(name='louis',wife='lyla',children.no=3,child.ages=c(4,7,12))
> LST
$name
[1] "louis"
$wife
[1] "lyla"
$children.no
[1] 3
$child.ages
[1] 4 7 12
下标中取下标:
> LST[[4]][2]
[1] 7
取元素:
> LST[["name"]]
[1] "louis"
> LST["name"]
$name
[1] "louis"
> LST$name
[1] "louis"
列表值的修改:
LST$name="ye"
增加一项家庭收入:
LST$income=c(1980,1600)
总结:在R中,许多函数的返回值都是列表,如求特征值特征向量的函数eigen()、奇异值分解函数svd()和最小二乘函数lsfitUI等。所以list在R中的用处还是很广泛的。
> A
[,1] [,2] [,3]
[1,] 4 2 7
[2,] 5 5 5
[3,] 3 6 3
> svd(A)
$d
[1] 13.450720 4.049131 0.826238
$u
[,1] [,2] [,3]
[1,] -0.5761545 0.7349027 0.3577205
[2,] -0.6408954 -0.1345924 -0.7557367
[3,] -0.5072465 -0.6646826 0.5485418
$v
[,1] [,2] [,3]
[1,] -0.5227107 0.06732344 -0.8498477
[2,] -0.5501761 -0.78813250 0.2759590
[3,] -0.6512141 0.61181265 0.4490050
二、数据框data.frame,数据框的主要用途是保存在统计建模的数据,R的统计建模功能都需要以数据框作为输入数据,我们也可以把数据框当成一种矩阵来处理,在使用数据框的变量时候可以用“数据库名$变量名”的记法,同时可以用attach()函数、、
1.函数data.frame()生成数据框,其用法与list()函数相同,各自变量变成数据框的成分,自变量可以命名成为变量名,例如:
> df=data.frame(
+ Name=c("A","B","C"),
+ Sex=c("F","F","M"),
+ Age=c(13,12,11),
+ Heigh=c(56.5,45.9,39.9))
> df
Name Sex Age Heigh
1 A F 13 56.5
2 B F 12 45.9
3 C M 11 39.9
可以发现data.frame相当于数据库的一个表。列表和数据库可以相互转化。as.data.frame(LST)将列表LST转换为数据框,
2.数据框的引用
> df[1:2,1:2]
Name Sex
1 A F
2 B F
3.attach()函数
> df$Weigh=c(123,134,114)
> df
Name Sex Age Heigh Weigh
1 A F 13 56.5 123
2 B F 12 45.9 134
3 C M 11 39.9 114
> attach(df)
> df$r=Heigh/Weigh
> df
Name Sex Age Heigh Weigh r
1 A F 13 56.5 123 0.4593496
2 B F 12 45.9 134 0.3425373
3 C M 11 39.9 114 0.3500000
> detach()
3.数据框的编辑edit()
edit(df)会出现一个框图,让你手动填写,非常的方便。
R语言中的matrix(矩阵),list(列表),data.frame(数据框)总结相关推荐
- r语言中,为什么用as.matrix将dataframe转化为matrix后,里面的数字都变成字符串了...
在 R 中,使用 as.matrix() 函数将数据框转换为矩阵时,会将所有列都转换为同一种数据类型.如果数据框中的任意一列的数据类型为字符串,则会将整个矩阵转换为字符串.因此,如果你的数据框中有任意 ...
- R语言中的apply函数用法
刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言本身来 ...
- R语言中的apply函数族
原文出处:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么, ...
- 相关系数pearson、spearman、kendall和R语言中的cor/or.test()
相关系数pearson.spearman.kendall和R语言中的cor/cor.test 1. 相关系数pearson.spearman.kendall 2. R语言cor函数和cor.test函 ...
- R语言中dim函数_R语言 常见函数知识点梳理与解析 | 精选分析
目 录 1.str() 显示数据集和变量类型,并简要展示数据集情况 2.subset() 取子集 3.which.min(), which.max()和which() 4.pmin( )/ pmax ...
- R语言中apply函数族的介绍
文章目录 综括 ==apply函数== 利用apply函数实现 利用循环实现 定义一个结果的数据框 定义for循环 利用R的特性 三种方法消耗时间比较 ==lapply函数== ==sapply函数= ...
- 1071svm函数 r语言_如何利用R语言中的rpart函数建立决策树模型
决策树是根据若干输入变量的值构造出一个适合的模型,以此来预测输出变量的值,并用树形结构展示出来.决策树主要有两个类别:分类树和回归树.分类树主要针对离散的目标变量,回归树则针对连续的目标变量.R语言中 ...
- r语言中c函数错误,R语言中c()函数与paste()函数的区别说明
c()函数:将括号中的元素连接起来,并不创建向量 paste()函数:连接括号中的元素 例如 c(1, 2:4),结果为1 2 3 4 paste(1, 2:4),结果为"1 2" ...
- r语言中的shiny教程_如何使用Shiny在R中编写Web应用程序
r语言中的shiny教程 新年快乐! 这个月我忙于撰写一些较大的文章,因此请在接下来的几周内查找这些文章. 对于本月的Nooks和Crannies,我想简要指出一个我一直在用它进行自我教育的出色R库. ...
最新文章
- linux 系统崩溃完全没有操作空间的系统修复
- js获取本月第几周和本年第几周
- 【小白学PyTorch】11.MobileNet详解及PyTorch实现
- 【报告分享】2021企业营销数字化转型研究报告.pdf(附下载链接)
- 微软发现已遭在野利用的 SolarWinds 新0day
- 公钥、私钥和数字签名是什么
- python获取当前时间戳_Python获取时间戳代码实例
- python的Bio下的Entrez使用
- springboot+vue+elementUI 公司财务固定资产管理系统#毕业设计
- My Forty-eighth Page - 组合 - By Nicolas
- 10.13 写一个用矩形法求定积分的通用函数,分别求∫_0^1▒sinxdx 、∫_0^1▒cosxdx、∫_0^1▒〖e^x dx〗的值。
- 华为南研所2014春季机试题目-2不能入住的房客数
- linux debian vi,debian系统中常用的vi命令使用和讲解
- 现代浏览器观察者 Observer API 指南
- jenkins邮件配置和邮件发送
- 码农的自我修养之 软件危机和软件过程
- php加解密易语言源码,易语言PHP加密源码
- iOS 获取IP地址
- 让你对Digital Camera完全了解的88条名词解释
- DrawEdge 用法
热门文章
- 【转】渗透工具包2014贺岁版发布
- .net sqlite 下载地址
- 历史数据双色球小工具
- 什么时候需要进行信号完整性分析?
- systemctl status mysqld.service或者systemctl start mysqld 启动失败的解决办法
- 普罗米修斯 软件_Prometheus(普罗米修斯)——适合k8s和docker的监控系统
- 你知道图形商标要进行版权登记吗?
- 全国首部Asp.net MVC5 视频课程
- matlab求动物繁殖问题,动物繁殖问题数学建模实验matlab程序.doc
- 浅谈ERP实施应用的流程步骤