时间:2021-05-20
本文主要介绍了R语言中矩阵matrix和数据框data.frame的一些使用,分享给大家,具体如下:
"一,矩阵matrix""创建向量"x_1=c(1,2,3)x_1=c(1:3)x_2=1:3typeof(x_1)==typeof(x_2)#查看目标类型x_3=seq(1,6,length=3)#将1——6分为3个数a<-rep(1:3,each=3) #1到3依次重复c<-rep(1:3,times=3) #1到3重复3次d<-seq(from=3,to=12,by=3) #3为起点12为终点,步长为3e<-seq(from=3,to=12,length=3.5) #3为起点,12为终点,个数"创建矩阵"x_1=matrix(1:10,nrow = 5,ncol = 2,byrow = FALSE,dimnames = list(c('a','b','c','d','e'),c('一','二')))#data参数输入的为矩阵的元素,不能为空;nrow参数输入的是矩阵的行数,默认为1;ncol参数输入的是矩阵的列数,默认为1;#byrow参数控制矩阵元素的排列方式,TRUE表示按行排列,FALSE表示按列排列,默认为FALSE;dimnames参数输入矩阵的行名和列名,可以不输入,系统默认为NULL。x_1=matrix(1:10,nrow = 5,ncol = 2,byrow = TRUE,dimnames = list(c('a','b','c','d','e'),c('一','二')))#byrow = TRUE会使得矩阵元素按照行顺序向下排列#行列名称rownames(x_1)#查看行名称colnames(x_1)#查看列名称rownames(x_1)=c('A','B','C','D','E')#改变行名称colnames(x_1)=c('第一','第二')#改变列名称#矩阵维度dim(x_1)#查看矩阵维度(行数,列数)dim(x_1)=c(2,5)#改变原矩阵维度ncol(x_1)#返回列数nrow(x_1)#返回行数#元素获取x_1[8]=0#对第八个元素重新赋值x_1[1,2]x_1[1,2]=7#对第1行第2列元素重新赋值x_1[1,]x_1[,2]x_1[,'一']x_1['a',]x_1[c('a','b'),]x_1[,c('一','二')]x_1[c('b':'d')]"二,Data.Frame"#1.创建数据框data_=data.frame(a=c(1,2,3,4),b=c('jack','bob','dali','smith'),c=c('boy' ,'girl','girl','boy'),e=c('2010-12-04','2011-03-23','2009-08-09','2010-09-1'))#通过直接输入行列创建数据框#2.行列操作names(data_)#查看列名rownames(data_)#查看行名names(data_)=c('A','B','C','D')#修改列名rownames(data_)=data_$B#将B列作为行名data_$d=c(545,6323,345,454)#添加新列within(data_,{f=c(12,22,32,42)})#使用within添加新列#3.访问元素data_[1,]#查看第一行data_[,2]#查看第二列data_[3]#方位第三列data_[2,3]#访问第二行三列data_['a']#访问‘a'列data_[['a']]#访问'a'列data_[c('a')]#访问‘a'列data_[c('a','b')]#访问‘a'‘b'列data_[,c(1:3)]#访问1到3列data_[c(1:3),c(1:2)]#访问1到3行,1到2列data_[c(2:dim(data_)[1]),]data_$bwith(data_,{print(data_$b)})#使用with函数打开b列#4.条件访问元素data_[which(data_$c=='boy')]#选出c列为boy的数据data_$f=c(234,452,234,657)data_[data_$f>200]#选出f列大于200的数据subset(data_,data_$c=='boy'&data_$f>200)#选出c为boy且f大于200的数据#5.基本操作dim(data_)#查看维度(行,列)typeof(data_)str(data_)#查看各列数据类型Sys.Date()#获得当前日期format(Sys.Date(),'%Y-%m')#获得当前年份和月份as.integer('2')#修改为整数型toString(4)#修改为字符串#6.修改数据类型data_$e=as.Date(data$e)data_$b=as.character(data_$b)data_=data.frame(c('2','3','4'))as.integer(data_[2,1])+as.integer(data_[3,1])typeof(data_[1,1])mode(data_)class(data_)#7.删除数据data_[,-1]#删除第一列#8.数据框组合拼接data_1=data.frame(a=c(1,2,3),b=c('一','二','三'),c=c('one','two','three'))data_2=data.frame(a=c(2,3,1),d=c('fjsk','fjs','jslf'),e=c(34,43,23))data__=merge(data_1,data_2)#按照某一列元素拼接data_1=data.frame(name=c('hia','ful','bob'),gender=c('boy','girl','girl'))data_2=data.frame(name=c('ds','gui','sds'),gender=c('girl','boy','boy'))data__=rbind(data_1,data_2)#上下拼接data__=cbind(t(data_1),t(data_2))#左右拼接#9.删除无效na值na.omit(data)#将数据框当中拥有无效值NA的那一行全部删除#10.序列排序data=data.frame(a=rnorm(30,4,5),b=rnorm(30,2,43),c=rnorm(30,-9,34))data[order(data$a,decreasing = TRUE),]#将a列数据降序排序data[order(data$a,data$b,decreasing = TRUE),]#先将a列数据降序排序,再将其中b列数据降序排序到此这篇关于R语言中矩阵matrix和数据框data.frame的使用详解的文章就介绍到这了,更多相关R语言矩阵matrix和数据框data.frame内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
对于那些有一点编程经验的人来说,vector,matrix,array,list,data.frame就相当于编程语言中的容器,因为只是将R看做数据处理工具所以
主要介绍一下利用matrix函数和rep生成矩阵在R语言中可以使用matrix()函数来创建矩阵,其语法格式如下:matrix(data=NA,nrow=1,n
前言:近段时间学习R语言用到最多的数据格式就是data.frame,现对data.frame常用操作进行总结,其中函数大部分来自dplyr包,该包由Hadley
同expand.grid()一样,data.frame()也是一个生产数据框的命令不同的是,两者产生的结果,要求不一样data.frame()的命令,如data
矩阵概述R语言的实质实质上是与matlab差不多的,都是以矩阵为基础的在R语言中,矩阵(matrix)是将数据按行和列组织数据的一种数据对象,相当于二维数组,可