一、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(数据框)总结相关推荐

  1. r语言中,为什么用as.matrix将dataframe转化为matrix后,里面的数字都变成字符串了...

    在 R 中,使用 as.matrix() 函数将数据框转换为矩阵时,会将所有列都转换为同一种数据类型.如果数据框中的任意一列的数据类型为字符串,则会将整个矩阵转换为字符串.因此,如果你的数据框中有任意 ...

  2. R语言中的apply函数用法

    刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言本身来 ...

  3. R语言中的apply函数族

    原文出处:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么, ...

  4. 相关系数pearson、spearman、kendall和R语言中的cor/or.test()

    相关系数pearson.spearman.kendall和R语言中的cor/cor.test 1. 相关系数pearson.spearman.kendall 2. R语言cor函数和cor.test函 ...

  5. R语言中dim函数_R语言 常见函数知识点梳理与解析 | 精选分析

    目 录 1.str() 显示数据集和变量类型,并简要展示数据集情况 2.subset()  取子集 3.which.min(), which.max()和which() 4.pmin( )/ pmax ...

  6. R语言中apply函数族的介绍

    文章目录 综括 ==apply函数== 利用apply函数实现 利用循环实现 定义一个结果的数据框 定义for循环 利用R的特性 三种方法消耗时间比较 ==lapply函数== ==sapply函数= ...

  7. 1071svm函数 r语言_如何利用R语言中的rpart函数建立决策树模型

    决策树是根据若干输入变量的值构造出一个适合的模型,以此来预测输出变量的值,并用树形结构展示出来.决策树主要有两个类别:分类树和回归树.分类树主要针对离散的目标变量,回归树则针对连续的目标变量.R语言中 ...

  8. r语言中c函数错误,R语言中c()函数与paste()函数的区别说明

    c()函数:将括号中的元素连接起来,并不创建向量 paste()函数:连接括号中的元素 例如 c(1, 2:4),结果为1 2 3 4 paste(1, 2:4),结果为"1 2" ...

  9. r语言中的shiny教程_如何使用Shiny在R中编写Web应用程序

    r语言中的shiny教程 新年快乐! 这个月我忙于撰写一些较大的文章,因此请在接下来的几周内查找这些文章. 对于本月的Nooks和Crannies,我想简要指出一个我一直在用它进行自我教育的出色R库. ...

最新文章

  1. linux 系统崩溃完全没有操作空间的系统修复
  2. js获取本月第几周和本年第几周
  3. 【小白学PyTorch】11.MobileNet详解及PyTorch实现
  4. 【报告分享】2021企业营销数字化转型研究报告.pdf(附下载链接)
  5. 微软发现已遭在野利用的 SolarWinds 新0day
  6. 公钥、私钥和数字签名是什么
  7. python获取当前时间戳_Python获取时间戳代码实例
  8. python的Bio下的Entrez使用
  9. springboot+vue+elementUI 公司财务固定资产管理系统#毕业设计
  10. My Forty-eighth Page - 组合 - By Nicolas
  11. 10.13 写一个用矩形法求定积分的通用函数,分别求∫_0^1▒sinxdx 、∫_0^1▒cosxdx、∫_0^1▒〖e^x dx〗的值。
  12. 华为南研所2014春季机试题目-2不能入住的房客数
  13. linux debian vi,debian系统中常用的vi命令使用和讲解
  14. 现代浏览器观察者 Observer API 指南
  15. jenkins邮件配置和邮件发送
  16. 码农的自我修养之 软件危机和软件过程
  17. php加解密易语言源码,易语言PHP加密源码
  18. iOS 获取IP地址
  19. 让你对Digital Camera完全了解的88条名词解释
  20. DrawEdge 用法

热门文章

  1. 【转】渗透工具包2014贺岁版发布
  2. .net sqlite 下载地址
  3. 历史数据双色球小工具
  4. 什么时候需要进行信号完整性分析?
  5. systemctl status mysqld.service或者systemctl start mysqld 启动失败的解决办法
  6. 普罗米修斯 软件_Prometheus(普罗米修斯)——适合k8s和docker的监控系统
  7. 你知道图形商标要进行版权登记吗?
  8. 全国首部Asp.net MVC5 视频课程
  9. matlab求动物繁殖问题,动物繁殖问题数学建模实验matlab程序.doc
  10. 浅谈ERP实施应用的流程步骤