R语言中的对象以及它的模式与属性

本文介绍了R语言中对象的基本属性mode和length的用法,包括如何判断和转换类型,调整向量长度;同时深入探讨了attribute和attr函数的功能,如获取、设置及修改对象的自定义属性,并讨论了class属性在面向对象编程中的应用。

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

#R中的对象与他的模式和属性

#--------固有属性mode和length
#mode 即向量的类型,可以分为数值型、逻辑型、复数型、字符型
mode(c(1,2,3))
# [1] "numeric"
mode(c(1,2,3)<3)
# [1] "logical"

#使用is.character可以判断某个对象的类型
is.character(c("1","2")) #另外有is.logical
# [1] TRUE

#使用as.character可以强制进行类型转换
as.numeric(c("1","2"))
# [1] 1 2

#length 即向量的长度,这个跟数组的类型相似
length(c(1,2,3))
# [1] 3

a<-numeric()
a[3]<-3
# [1] NA NA  3

#一般缩短长度和增加长度只需要在此赋值即可,例如
a<-1:10
# [1]  1  2  3  4  5  6  7  8  9 10
a<-a[2*1:5]
# [1]  2  4  6  8 10
a<-1:4
# [1] 1 2 3 4

#------函数attribute和attr 
#attributes返回 对象所包含的特殊属性,而不包含固有属性mode和length
x<-c(apple=2.5,orange=2.0)
attributes(x)
# > attributes(x)
# $names
# [1] "apple"  "orange"
attr(x,"names")
# > attr(x,"names")
# [1] "apple"  "orange"

attr(x,"names")[1]
# [1] "apple"


#attr除了能取出相应的属性之外,还能给对象添加新的属性
attr(x,"type")<-"fruit"
attributes(x)
# $names
# [1] "apple"  "orange"
# 
# $type
# [1] "fruit"

#attr同样也可以对已有的属性进行修改
attr(x,"names")<-c("apple","grage")
attributes(x)
# $names
# [1] "apple" "grage"
# 
# $type
# [1] "fruit"

#R中的class 属性是用来支持面向对象的概念,class函数能返回对象的类

class(x)
# [1] "numeric"  #这里的numeric并不是类型,而是数据类型的类


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值