|
对象的产生,排列及删除
一个对象可以通过赋值操作来产生,R语言中的赋值(\assign") 符号一般
是由一个尖括号与一个负号组成的箭头形标志。该符号可以是从左到右的方
向,也可以相反:
> n <- 15
> n
[1] 15
> 5 -> n
> n
[1] 5
> x <- 1
> X <- 10
> x
[1] 1
> X
[1] 10
如果该对象已经存在,那么它以前的值将会自动被新值冲掉(这种修改只
会影响内存中的数据,操作结果暂时不会被保存到硬盘中)。在R中给对象赋
值有多种形式,可以是直接赋一个数值,也可以是一个算式或一个函数的结
果:
> n <- 10 + 2
> n
[1] 12
> n <- 3 + rnorm(1)
> n
[1] 2.208807
运行rnorm(1) 将产生一个服从平均数为0标准差为1的标准正态分布的随
机变量(p. 18)。当然你也可以只是输入函数或表达式而不把它的结果赋给某
个对象,但如果这样在窗口中展示的结果将不会被保存到内存中:
> (10 + 2) * 5
[1] 60
本文中,在不影响读者理解的情况下,一些赋值符号将会被省略。
函数ls的功能是显示所有在内存中的对象:只会列出对象名,如:
> name <- "Carmen"; n1 <- 10; n2 <- 100; m <- 0.5
> ls()
[1] "m" "n1" "n2" "name"
注意在R中应该用分号来隔开同一行中的不同命令语句。如果只要显示出
在名称中带有某个指定字符的对象,则通过设定选项pattern 来实现(可简写
为pat) ):
> ls(pat = "m")
[1] "m" "name"
如果进一步限为显示在名称中以某个字母开头的对象,则可:
> ls(pat = "^m")
[1] "m"
运行函数ls.str()将会展示内存中所有对象的详细信息:
> ls.str()
m : num 0.5 n1 : num 10 n2 : num 100 name : chr "Carmen"
选项pattern在这里同样适用。在ls.str函数中另一个非常有用的选
项是max.level, 它将规定显示所有关对象信息的详细级别。缺省情况
下,ls.str 将会列出关于对象的所有信息,包括数据框,矩阵,数据列
表的列数信息。因此展示结果可能会很长。但如果设定max.level =-1 就可
以避免这种情况了:
> M <- data.frame(n1, n2, m)
> ls.str(pat = "M")
M : `data.frame': 1 obs. of 3 variables:
$ n1: num 10
$ n2: num 100
$ m : num 0.5
> ls.str(pat="M", max.level=-1)
M : `data.frame': 1 obs. of 3 variables:
要在内存中删除某个对象,可利用函数rm: 运行rm(x)将会删除对象x,运
行rm(x,y) 将会删除对象x和y,而运行rm(list=ls())则会删除内存中的所有对
象. 在上面所讲的ls() 函数中的一些选项同样也可以运用到rm中来,以选择
的删除一些对象,如: rm(list=ls(pat="^m"))。 |
|