首页 > 其他分享 >R语言中的matrix(矩阵),list(列表),data.frame(数据框)总结

R语言中的matrix(矩阵),list(列表),data.frame(数据框)总结

时间:2023-04-12 13:02:34浏览次数:51  
标签:12 name df frame list LST data


一、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)会出现一个框图,让你手动填写,非常的方便。

 

 

 

 

 

 

 

 

 

 

 

标签:12,name,df,frame,list,LST,data
From: https://blog.51cto.com/u_16057845/6185493

相关文章

  • 【通知】HCIE-Datacom 凌云百强榜公布
    HCIE-Datacom凌云百强榜......
  • 玖章算术CEO叶正盛在数据技术嘉年华分享NineData AIGC的应用实践
    4月8日下午,为期两天的第十二届数据技术嘉年华(DTC2023)在北京新云南皇冠假日酒店圆满落下帷幕。大会得到了工业和信息化部电子五所的支持和指导,围绕“开源·融合·数字化——引领数据技术发展,释放数据要素价值”这一主题,通过一场主论坛和十二场专题论坛,汇聚“产学研”各界数据技术......
  • win10、win2016离线安装 .netframework3.5
    下载地址:(网上收集的)   https://pan.baidu.com/s/1O24nLgXhehHveae25p9SLg密码:amgu   https://url93.ctfile.com/f/29519493-531656763-281351(访问密码:8843)   https://soft.3dmgame.com/down/205311.html下载NetFx3.cab后将其放于C盘WINDOWS文件夹下(C:\Windows)点击“......
  • Python Tkinter Frame
    PythonTkinterFrametkinter的Frame组件:这个组件是容器组件,用于在复杂布局中将其他的组件分组。所谓容器组件,就是可以收纳其它组件,可以做其它组件的父组件的组件。frame的属性:bg或background : frame组件的背景颜色bd或borderwidth : frame的边框宽度,默认值......
  • my-data-process-cookbook
    我的数据处理cookbookDatetime:2023-03-27T16:54+08:00Categories:Python从毕设开始,记录自己使用pandas等库的一点心得,给自己查阅,零零碎碎,不成文章。最佳阅读方法是使用Ctrl+F。目录碎碎念注释流程拆分流程的优化代码的简洁notationindex操作readandsavewithinde......
  • java学习日记20230410-List
    List接口基本介绍List集合类中元素有序,即添加顺序和取出顺序一致,且可重复;List集合中的每隔元素都有其对应的顺序索引,即支持索引List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素JDKAPI中List接口的实现类有:ArrayListLinkedListVe......
  • 一文掌握ArrayList和LinkedList源码解读
    大家好,我是Leo!今天来看一下ArrayList和LinkedList的源码,主要是看一下常用的方法,包括像add、get、remove方法,大部分都是从源码直接解读的,相信大家读完都会有一定收获。ArrayListList<String>list=newArrayList<>();list.add("zly");list.add("coding");list.add("菜......
  • SqlSugar-C#版_SeedData(种子数据)
    ///<summary>///导入种子数据///注:批量不可用(指定Entity名时功能可用,通过“classNameSpaces”批量导入时功能不可用)///①DBSeed文件使用json文件保存;///②一张表一个DBSeed文件;///③文件名字与表名保持一致;......
  • 【论文阅读笔记】Distiling Causal Effect of Data in Class-Incremental Learning
    Author:HanwangZhang,XintingHuCreate_time:April24,202211:01AMEdited_by:HuangYujunPublisher:CVPR2021Org:NanyangTechnologicalUniversityDistilingCausalEffectofDatainClass-IncrementalLearning1.Contribution这是一篇从因果角度思考持续......
  • LRU management (牛客多校) (map+list)
        思路:利用map+list暴力模拟就彳于了#pragmaGCCoptimize(2)#include<bits/stdc++.h>usingnamespacestd;#defineIOSios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);#defineMAXN100001#defineINF(0x3f3f3f3f)#defineuintunsignedint#d......