博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
R-基础测试(3)——对象的基本操作
阅读量:5264 次
发布时间:2019-06-14

本文共 2000 字,大约阅读时间需要 6 分钟。

R通过对象来运行,这些对象通过名字、内容和属性(数据类型)来刻画。所有的对象都有2个内在的属性:类型和长度。

1. 对象类型:类型是对象元素的基本种类,共有4种:

  • 数值型(整型、单精度实型、双精度实型)
  • 字符型
  • 复数型
  • 逻辑型(TRUE/FALSE/NA)

2. 对象长度:长度是对象中元素的数目。

对象的类型和长度可以分别通过函数mode()和length()得到。例如:

> x <- 1;y <-1i;z <- TRUE;q<-'woca';

> mode(x);mode(y);mode(z);mode(q);
[1] "numeric"
[1] "complex"
[1] "logical"
[1] "character"
> length(x);length(y);length(z);length(q);
[1] 1
[1] 1
[1] 1
[1] 1

3. 特殊数值

R通过Inf表示正无穷的数值,-Inf表示负无穷的数值,NaN表示非数值。

> a=100**200

> a
[1] Inf
> b=-100**200
> b
[1] -Inf
> c=0/0
> c
[1] NaN
> mode(a)
[1] "numeric"
> mode(b)
[1] "numeric"
> mode(c)
[1] "numeric"

4. 特殊字符串

字符串放在单引号或双引号中。如果字符串里有单引号或双引号,可以使用“\”来转义。

> d="wo ca 'yct'"

> d
[1] "wo ca 'yct'"
> cat(d)
wo ca 'yct'
> e="wo ca 'yct' & \"tianyc\""
> e
[1] "wo ca 'yct' & \"tianyc\""
> cat(e)
wo ca 'yct' & "tianyc"

5. 对象的查看与删除

5.1 前面我们定义了好多对象,可以通过 ls() 函数、objects() 函数,或 ls.str() 函数来查看一下:

> ls() #查看所有对象

[1] "a" "b" "c" "d" "e" "q" "x" "y" "z"
> objects()
[1] "a" "b" "c" "d" "e" "q" "x" "y" "z"

可以进行模糊查看,再定义两个对象:

> aa='xjbu'

> cba='wocacaca'
> ls(pat='a') #查看所有带有字符串‘a'的对象
[1] "a" "aa" "cba"
> ls(pat='^a') #查看所有以字符串‘a’开头的对象
[1] "a" "aa"

> ls.str() # 可以查看到更详细的信息

a : num Inf
aa : chr "xjbu"
b : num -Inf
c : num NaN
cba : chr "wocacaca"
d : chr "wo ca 'yct'"
e : chr "wo ca 'yct' & \"tianyc\""
q : chr "woca"
x : num 1
y : cplx 0+1i
z : logi TRUE
> ls.str(pat='^a') #也可以使用pat参数
a : num Inf
aa : chr "xjbu"

5.2 可以通过 rm() 函数来删除已有的对象。

> ls()

[1] "a" "aa" "b" "c" "cba" "d" "e" "q" "x" "y" "z"
> rm(a) #删除1个对象
> ls()
[1] "aa" "b" "c" "cba" "d" "e" "q" "x" "y" "z"
> rm(b,c,d) #删除多个对象
> ls()
[1] "aa" "cba" "e" "q" "x" "y" "z"
> rm(list=ls(pat='a')) #删除名称带有字符串‘a'的所有对象
> ls()
[1] "e" "q" "x" "y" "z"
> rm(list=ls()) #删除所有对象
> ls()
character(0)

6. 需要注意的地方

#6.1 R是区分大小写的,所以x和X是2个对象:

> x='wo'

> X='ca'
> ls()
[1] "x" "X"

# 6.2 对象的命名不能与R的预设对象冲突,否则会提示错误:

> else='xjbU'

错误: 意外的'else'在"else"里

R的预设对象列表如下:

break

else
for
function
if
TRUE
in
next
repeat
return
while
FALSE

转载于:https://www.cnblogs.com/yuechaotian/archive/2013/02/27/2935283.html

你可能感兴趣的文章
linux下WPS的使用
查看>>
Web Api 利用 cors 实现跨域
查看>>
hdu 3938 并查集
查看>>
instanceof
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
2015/8/4 告别飞思卡尔,抛下包袱上路
查看>>
软件开发与模型
查看>>
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>
C# GC 垃圾回收机制
查看>>
mysqladmin 修改和 初始化密码
查看>>
字符串
查看>>
vue2.x directive - 限制input只能输入正整数
查看>>
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 客户端多网络支持
查看>>
HDU 4122
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>