一、基本原理

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

name

## [1] "content"

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

print(name)

## [1] "content"

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

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

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

n

n

## [1] "hello, world"

n -> 'hello, world'

n

## [1] "hello, world"

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

n

n

## [1] "Goodbye"

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

name

ls()

## [1] "hello, world" "m" "n" "name"

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

ls(pat = 'n')

## [1] "n" "name"

ls(pattern = 'm')

## [1] "m" "name"

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

ls(pattern = '^m')

## [1] "m"

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

ls.str()

## hello, world : chr "hello, world"

## m : chr "monkey"

## n : chr "noodles"

## name : chr "content"

f

ls.str(pattern = 'f')

## f : 'data.frame': 1 obs. of 3 variables:

## $ n : Factor w/ 1 level "noodles": 1

## $ m : Factor w/ 1 level "monkey": 1

## $ name: Factor w/ 1 level "content": 1

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

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

## f : 'data.frame': 1 obs. of 3 variables:

print('###')

## [1] "###"

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

## f : 'data.frame': 1 obs. of 3 variables:

## $ n : Factor w/ 1 level "noodles": 1

## $ m : Factor w/ 1 level "monkey": 1

## $ name: Factor w/ 1 level "content": 1

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

ls()

## [1] "f" "hello, world" "m" "n" "name"

rm(f)

ls()

## [1] "hello, world" "m" "n" "name"

rm(n, m)

ls()

## [1] "hello, world" "name"

rm(list = ls(pattern = '^h'))

ls()

## [1] "name"

三、在线帮助

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

?print #查看特定函数的帮助.

## starting httpd help server ... done

help(print)

help('print')

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

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

# help(*)

help("*")

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

help('bs')

## No documentation for 'bs' in specified packages and libraries:

## you could try '??bs'

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

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

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

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

help.start()

## If nothing happens, you should open

## 'http://127.0.0.1:31375/doc/html/index.html' yourself

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

apropos("help")

## [1] "help" "help.request" "help.search" "help.start"

r语言中的或怎么表示什么不同_R经典入门 之 R语言的基本原理与概念 -- 200430相关推荐

  1. r语言中的或怎么表示什么不同_R语言中$是什么意思

    展开全部 $是S3类的引用方32313133353236313431303231363533e58685e5aeb931333431353430式,@是S4类的引用方式.$比较常用,@比较少用.通常我 ...

  2. r语言中的或怎么表示什么不同_R语言中灵活运用if实现根据不同条件执行不同的语句...

    原标题:R语言中灵活运用if实现根据不同条件执行不同的语句 在程序语言中,if一般属于一种分支结构,即根据某个条件执行相关的语句,在R中也不例外.同时,if语句与else配合可以运用到多种条件递归判断 ...

  3. r语言中残差与回归值的残差图_R语言基础-数据分析及常见数据分析方法

    R表达式中常用的符号 残差(Residuals) 残差是真实值与预测值之间的差,五个分位的值越小模型越精确 系数项与截距项(Coefficients & Intercept)和P值指标 残差标 ...

  4. pch在c语言中占内存字节数,2018年9月计算机二级C语言考试章节习题及答案(6).docx...

    2018年9月计算机二级C语言考试章节习题及答案(6) 第2章 C程序设计的初步知识 2.3 整型数据 1[单选题] 用8位无符号二进制数能表示的最大十进制数为( ) A.127 B.128 C.25 ...

  5. 用c语言对文件的写入和保存,C++_C语言中对文件最基本的读取和写入函数,C语言read()函数:读文件函数( - phpStudy...

    C语言中对文件最基本的读取和写入函数 C语言read()函数:读文件函数(由已打开的文件读取数据)头文件: #include 定义函数: ssize_t read(int fd, void * buf ...

  6. c语言中用于读写的函数,吉大18秋学期《C语言程序设计》在线作业二(含答案)题目...

    =a[n-1-i];a[n-1-i]=t;}}main(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10; ...

  7. java中函数是什么_[一] java8 函数式编程入门 什么是函数式编程 函数接口概念 流和收集器基本概念...

    本文是针对于java8引入函数式编程概念以及stream流相关的一些简单介绍 什么是函数式编程? java程序员第一反应可能会理解成类的成员方法一类的东西 此处并不是这个含义,更接近是数学上的函数 看 ...

  8. r语言中残差与回归值的残差图_R语言逻辑回归、方差分析、伪R平方分析

    原标题:R语言逻辑回归.方差分析.伪R平方分析 原文链接:http://tecdat.cn/?p=9589 目录 怎么做测试 假设条件 并非所有比例或计数都适用于逻辑回归分析 过度分散 伪R平方 测试 ...

  9. r语言中残差与回归值的残差图_R语言-如何处理回归中的异常值点

    R语言-如何处理回归中的异常值点 异常观测值 一个全面的回归分析要覆盖对异常值的分析,包括离群点.高杠杆值点和强影响点.这些数据点需要更深入的研究,因为它们在一定程度上与其他观测点不同,可能对结果产生 ...

最新文章

  1. 论文阅读(Xiang Bai——【arXiv2016】Scene Text Detection via Holistic, Multi-Channel Prediction)...
  2. Python 模块学习 logging(2)
  3. 修改linux文件夹密码忘记,Linux中如何重新获取丢失的密码
  4. 关于Tomcat双击startup.bat文件一闪而过问题
  5. 不懂函数式?用mobx来写react应用吧
  6. 《R语言实战》读书笔记--学习张丹日志
  7. Java工程师成神之路思维导图
  8. 武汉理工计算机专考研专业课,2017武汉理工大学考研计算机专业课真题
  9. 啊哈算法-bfs-解救小哈
  10. 操作系统第一章操作系统引论例题及答案
  11. 简单的文件内容繁简体甄别
  12. C6678多核DSP——CMD文件介绍
  13. matlab的小技巧
  14. 少走弯路的3个忠告:产品经理不是来改变世界的
  15. php xcat createadmin,[BUG]Unable to load class: \App\Command\createAdmin
  16. 顺序图-循环和分支-操作符的使用
  17. 【机器学习课程-华盛顿大学】:4 聚类和检索 4.4 MoG混合高斯模型编程测试
  18. VSCode使用chrom调试
  19. python panda用法_Python Pandas用法入门
  20. android 防止屏幕误碰,小米11带来硬件防误触解决方案,彻底解决曲面屏误触问题...

热门文章

  1. windows和linux系统下测试端口连通性的命令
  2. 计算机专业课程设计报告c语言,计算机程序设计(C语言)课程设计报告.doc
  3. mysql 1418错误_mysql 1418错误原因及解决
  4. opencv运动目标跟踪预测_基于Opencv的运动目标的检测和跟踪.pdf
  5. python爬虫入门实战---------一周天气预报爬取_Python爬虫入门实战--------一周天气预报爬取【转载】【没有分析...
  6. vue 列表渲染 v-for
  7. linux mysql 备份脚本_linux 之mysql备份脚本
  8. 音频服务器未运行怎么办,音频服务未运行怎么办 音频服务未运行解决方法【详细介绍】...
  9. java getparametermap_重写getParameterMap后,报错 ,
  10. matlab中创建一个工程,从文件夹创建新工程