R语言02数据结构

本文介绍了R语言中的数据结构,包括对象的定义、创建、删除和基本属性。讲解了向量、矩阵、数据框和列表等,特别强调了向量的操作,如赋值、类型转换、逻辑运算以及如何处理缺失数据。此外,还讨论了因子类型及其相关函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、R语言的对象
1.定义:所有在R语言中可操作的各种数据及表达式.(object)

对象的命名规则:
      1.必须是字母开头,只可以是字母,数字,(.),(_)
      2.区分大小写
      3.避免使用pi,if,for等既有对象名

2.对象的产生和查询

  (1)ls()  返回所有内存中的对象名
  ls(pat="b")   返回所有对象名中包含b的对象名
  ls.str() 返回所有对象的具体信息

a<-“Alice”
b<-“Bob”
c<-“Charlie”
ls()
[1] “a” “b” “c” “height” “x” “x1” “x2” “y”
ls.str()
a : chr “Alice”
b : chr “Bob”
c : chr “Charlie”
height : num [1:4] 162 180 170 168
x : num [1:4] -1 0 1 2
x1 : int [1:4] -1 0 1 2
x2 : num [1:101] 0 0.0628 0.1257 0.1885 0.2513 …
y : num [1:4] 0.276 1 7.53 54.062

(2)删除对象
rm(对象名)/remove(对象名)
rm(list=ls(pat=“x”,all.names=TRUE)) 删除所有含名字中含x的对象
(all.names=FALSE表示不显示以.开头的这种特殊对象)

3.对象的基本属性
(1)对象的类型/属性(mode):
数值型(Numeric)
字符型(Character)
逻辑性(Logical)
因子型(Factor):类别/分类(男/女)
复数型(Complex): 1+2i

字符型对象

fruit<-c(“apple”,“pear”,“banana”)
mode(fruit) 查看对象类型
[1] “character”
length(fruit) 查看对象长度
[1] 3

因子型对象

gl(2,5) #新建一个因子
[1] 1 1 1 1 1 2 2 2 2 2
Levels: 1 2
class(gl(2,5)) #查看变量的类,显示为因子;
[1] “factor”
mode(gl(2,5)) #查看数据大类,显示为数值型;
[1] “numeric”
typeof(gl(2,5)) #查看数据细类,显示为整数型;
[1] “integer”

二、数据的创建
在这里插入图片描述
矩阵要求每一个element类型相同,数据框/列表可以有不同数据类型

向量在这里插入图片描述
2.1 基本运算
乘方(^)
乘法(*)
除法(/)
整除(%/%)
余数(%%)
在这里插入图片描述
在这里插入图片描述

2.2 数据对象

特殊变量
在这里插入图片描述
判别与转换数据对象

                 判别                 转换

在这里插入图片描述

2.3向量的赋值及基本操作

x<-c(1,2,3,4) 方法1
assign(“y”,c(“a”,“b”,“c”)) 方法2
z<-c(x,y)
z
[1] “1” “2” “3” “4” “a” “b” “c”

产生有规律的向量:

a.等差向量(步长为1/-1):

运算优先级:^>1:10>*
在这里插入图片描述
b.等间隔函数

x<-seq(from=1,to=15,by=2)x<-seq(from=1,to=15,length.out=10)x<-
length.out表示分割点数;along.with=p表示分割点数和p一样

c .重复函数
在这里插入图片描述

a<-rep(1:3,times=4,each=3)
a
[1] 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3
a<-rep(1:3,times=4,each=3,length.out=5)
a
[1] 1 1 1 2 2

逻辑运算
在这里插入图片描述

z<-logical(5)初始化逻辑向量(相当于建立一个逻辑向量,默认值为False,5为维数)

缺失数据

z[is.na(z)]<-7 将z中的缺失值用7填充
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数值向量的简单运算

x<-c(1,2,3,4,5)
prod(x)
[1] 120
min(x)
[1] 1
which.min(x)
[1] 1
range(x)
[1] 1 5
mean(x)
[1] 3
median(x)
[1] 3
var(x)#方差
[1] 2.5
std(x)#标准差
Error in std(x) : 没有"std"这个函数
sd(x)#标准差
[1] 1.581139

字符串向量

str()
string()
paste()
paste0(“a”,1:4):生成a1,a2,a3,a4

x<-paste(c(“x”,“y”),1:5,sep="!")
x
[1] “x!1” “y!2” “x!3” “y!4” “x!5”

因子向量

factor函数:将向量转化为因子
在这里插入图片描述
在这里插入图片描述

gl()生成向量的函数
在这里插入图片描述
n:因子个数
k:每个因子的重复个数
labels=1:n,labels一定要等于levels的个数不然会报错
length可以不等于nk,if > nk则会循环

gl(4,2,length=8,labels=paste0(“a”,1:4))
[1] a1 a1 a2 a2 a3 a3 a4 a4
Levels: a1 a2 a3 a4

与因子有关的函数
在这里插入图片描述
在这里插入图片描述

数值向量

在这里插入图片描述
sequence(1:6)
[1] 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5
在这里插入图片描述
在这里插入图片描述
numeric(n)生成长度为n的0向量

在这里插入图片描述
随机序列的生成
在这里插入图片描述

在这里插入图片描述

逻辑向量
在这里插入图片描述
循环补齐
在这里插入图片描述
向量索引
在这里插入图片描述
which(z>=10|z<=6) 或
which(z>=10&z<=6) 并且
which()返回索引

向量索引
在这里插入图片描述

向量筛选

z[z>5] 筛选出z中大于5的所有元素,自动包含NA
subset(z,z>5)自动删除NA

a %in%c (1,3,6) :看azhong的每个分量是否包含在之后的向量中

这个地方没有看明白:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值