R 入门级 之 《R的基本原理与概念》 -- 200412

Basic Principles and Concepts of R

一、基本原理

R是一种解释型语言,输入的命令可以直接被执行,不同于C等编译语言需要构成完整的程序才能运行。

R的语法非常简单和直观。合法的R函数总是带有圆括号的形式,即使括号内没有内容(如,ls())。所有函数后都接有圆括号以区别于对象(object)

所有能使用的R函数都被包含在一个库(library) 中,该库存放在磁盘 的R HOME/library 目录下(R HOME 是最初安装R的地址)。这个目录下含有具有各种功能的包(packages),各个包也是按照目录的方式组织起来的。其中名为base的包可以算是R的核心,因为它内嵌了R语言中所有像数据读写与操作这些最基本的函数。在上述目录中的每个包内,都有一个子目录R,这个目录里又都含有一个与此包同名的文件(例如在包base中,有这样一个文件R HOME/library/base/R/base)该文件正是存放所有函数的地方。

R语言中最简单的命令就是通过一个对象来显示其内容。如,一个名为name的对象,其内容为‘content’

name <- 'content'
name

或使用函数输出对象的内容

print(name)

注:对象的名字必须是以一个字母开头(A–Z 或a–z), 中间可以包含字母,数字(0–9),点(.)及下划线( ).因为R对对象的名字区分大小写,所以x 和X就可以代表两个完全不同的对象(在Windows操作系统中也是如此)。

二、对象的产生、排列及删除

一个对象可以通过赋值操作来产生,R语言中的赋值(“assign”) 符号一般是由一个尖括号与一个负号组成的箭头形标志该符号可以是从左到右的方向,也可以相反:

n <- 'hello, world'
n
n -> 'hello, world'
n

如果该对象已经存在,那么它以前的值将会自动被新值冲掉(这种修改只会影响内存中的数据,操作结果暂时不会被保存到硬盘中)。

n <- 'Goodbye'
n

函数ls的功能是显示所有在内存中的对象:只会列出对象名。注意在R中应该用分号来隔开同一行中的不同命令语句。

name <- 'content';  n <- 'noodles'; m <- 'monkey'
ls()

如果只要显示出在名称中带有某个指定字符的对象,则通过设定选项pattern 来实现(可简写为pat).

ls(pat = 'n')

ls(pattern = 'm')

如果进一步限制显示为在名称中以某个字母开头的对象

ls(pattern = '^m')

运行**ls.str()**将会显示内存中所有对象的详细信息ls.str 将会列出关于对象的所有信息,包括数据框,矩阵,数据列表的列数信息。

ls.str()
f <- data.frame(n, m, name)
ls.str(pattern = 'f')

设定max.level可改变对象的显示内容。

print(ls.str(pattern = 'f'), max.level  = -1)
print('###')
print(ls.str(pattern = 'f'), max.level  = 1)

要在内存中删除某个对象,可利用函数rm()。运行rm(x)将会删除对象x,运行rm(x,y)将会删除对象x和y,而运行**rm(list=ls())**则会删除内存中的所有对象.

ls()
rm(f)
ls()
rm(n, m)
ls()
rm(list = ls(pattern = '^h'))
ls()
rm(list = ls())
ls()

三、在线帮助

R中给予的在线帮助能提供关于如何使用函数的非常有用的信息。

?print  #查看特定函数的帮助.
help(print)
help('print')

对初学者而言,参考帮助中Examples部分的信息是很有用的。而一般应该仔细阅读Arguments中的一些说明也是非常有必要的。帮助中还包含了其它一些说明部分,如Note, References或Author(s)等。

查询关于某特殊语法意义字符的帮助。

?*
help(*)
help('*')  

默认状态下,函数help只会在被载入内存中的包中搜索。选项try.all.package在缺省值是FALSE,但如果把它设为TRUE,则可在所有包中进行搜索。

help('bs')
help('bs', try.all.packages = TRUE)

但注意在这种情况下,不会显示关于函数bs的帮助页面,如果使用者确实想打开这样的页面而所属包又没有被载入内存时,可以使用package这个选项.

help('bs', package = 'splines')

Html格式的帮助可以通过输入下面的函数启动.在html格式的帮助页面中还可以使用关键词进行搜索.

help.start()

使用函数apropos则能找出所有在名字中含有指定字符串的函数,但只会在被载入内存中的包中进行搜索

apropos("help")
发布了26 篇原创文章 · 获赞 3 · 访问量 1395

猜你喜欢

转载自blog.csdn.net/qq_42937176/article/details/105470066
R
R: