1-R语言概述

1.认识R语言

1.1 选择R语言的依据

  • 免费的软件
  • 编程方便,语言灵活,图形功能强大
  • 优秀的内在帮助系统
  • 高质量、广泛的统计分析、数据挖掘平台
  • 国际上R语言已然是专业数据分析领域的标准
    请添加图片描述
    请添加图片描述

1.2 R的来源

​ R是S语言的一种实现。S语言是由 AT&T贝尔实验室开发的一种用来进行数据探索统计分析作图的解释型语言。最初S语言的实现版本主要是S-PLUS。

​ S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善。后来Auckland大学的Robert Gentleman 和 Ross Ihaka 及其他志愿人员开发了一个R系统。R的使用与S-PLUS有很多类似之处,两个软件有一定的兼容性。
请添加图片描述

1.3 R的优缺点

描述:

  • 与起源于贝尔实验室的S语言类似,R也是一种为统计计算和绘图而生的语言和环境,它是一套开源的数据分析解决方案,由一个庞大且活跃的全球性研究型社区维护。但是,世面上也有许多其他流行的统计和制图软件,如Miscrosoft Excel、SAS、IBM SPSS、Stata以及Minitab。为何还要选择R?
  • R有着非常多值得推荐的特性
  • 多数商业统计软件价格不菲,而R是免费的!
  • R语言由一个庞大且活跃全球性研究型社区维护
  • R语言具备可扩展能力且拥有丰富的功能选项,帮助开发人员构建自己的工具及方法,从而顺利实现数据分析。
  • R可运行与多种平台之上,包括Windows、Unix和Mac OS X。这基本上意味着它可以运行于你所能拥有的任何计算机上。

优点:

  1. 开源;
  2. 庞大且活跃的社区维护;
  3. 可扩展能力强,灵活度高;
  4. 多平台运行,Windows、Linux和Mac OS X;
  5. 已然是专业数据分析领域的标准工具。

缺点:

  1. 解释性语言,速度略慢
  2. 所有计算都是在内存中进行的;
  3. 标准相对不统一

1.4 R环境安装

​ R 语言的开发环境本身具备了图形开发环境,这与其他很多工程语言是不同的,所以开发环境最好安装在为桌面个人计算机设计的操作系统上(如 Windows, macOS 或 Ubuntu 桌面版 等)。

首先,我们需要下载 R 语言环境的安装包:

Windows

  • 官方地址:https://cloud.r-project.org/bin/windows/base/
  • USTC 镜像:https://mirrors.ustc.edu.cn/CRAN/bin/windows/base/
  • TUNA 镜像:https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/windows/base/

Linux

  • 官方地址:https://cloud.r-project.org/bin/linux/
  • USTC 镜像:https://mirrors.ustc.edu.cn/CRAN/bin/linux/
  • TUNA 镜像:https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/linux/

macOS

  • 官方地址:https://cloud.r-project.org/bin/macosx/
  • USTC 镜像:https://mirrors.ustc.edu.cn/CRAN/bin/macosx/
  • TUNA 镜像:https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/macosx/

以上的版本有可能是过时的,如果你需要最新版本,可以访问:

  • 清华大学源: https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/
  • 官网:https://cloud.r-project.org/bin/

window中安装

Windows 安装很简单,下载安装包后,双击下载的安装包,开始安装向导:

请添加图片描述
请添加图片描述
请添加图片描述

**注意:**这里使用的操作系统是 64 位的,但现在仍有少数的计算机使用的是 32 位的操作系统,如果你的操作系统是 32 位的,请在此步骤选择"32-bit 用户安装"选项。(不同的版本有可能不一样)

请添加图片描述

1.5 R的图形用户界面

在R安装完后的GUI窗口里,有菜单栏、工具栏和R的控制台。

请添加图片描述

2.R的编译环境

2.1 Rstudio的IDE编辑器

​ R自身带的编辑器很不好用,因此可以寻找很多的替代方案,比如可以选择Emacs和Vim来替代。这里推荐Rstudio,它是专门用于R语言环境的IDE。

​ Rstudio可以从其官网http://www.rstudio.com/上免费下载安装。

请添加图片描述

2.2 获取R的帮助

​ R提供了大量的帮助功能,学会如何使用这些帮助文档可以在很大程度上助力你的编程工作。通过命令窗口输入代码查看帮助。

函数功能
help.start()打开帮助文档
help(“plot”)或者?plot查看函数plot的帮助(引号可以省略)
help.search(“plot”)或者??plot以plot为关键词搜索本地帮助文档
example(“plot”)函数plot的使用示例(引号可以省略)
RSiteSearch(“plot”)以plot为关键词搜索在线文档个邮件列表存档
apropos(“plot”,mode=“function”)列出名称中含有plot的所有可用函数
data()列出当前以加载包中所含的所有可用示例数据集
vignette()列出当前已经安装包中所有可能的vignette文档
vignette(“plot”)为主题plot显示指定的vignette文档

​ 在RStudio中,资源管理窗口的Help子窗口则可以直接通过函数的输入查看相关的帮助文档。

请添加图片描述

2.3 R的工作空间

  • 工作空间(workspace)就是当前R的工作环境,它储存着所有用户定义的对象(向量、矩阵、函数、数据框、列表)。
  • 在一个R会话结束时,你可以将当前工作空间保存到一个镜像中,并在下次启动R时自动载入它。
  • 当前的工作目录(working directory)是R用来读取文件和保存结果的默认目录。
  • 我们可以使用函数**getwd( )来查看当前的工作目录,或使用函数setwd( )**设定当前的工作目录。
  • 如果需要读入一个不在当前工作目录下的文件,则需要在调用语句中写明完整的路径。

在RStudio中的环境管理窗口中可以直观看到R的工作空间中储存的对象。

请添加图片描述

R的部分工作空间管理函数。

函数功能
getwd**()**显示当前的工作目录。
setwd(“new_path”)修改当前的工作目录为new_path。
ls()列出当前工作空间中的对象。
rm(objectList)移除(删除)一个或多个对象。
rm(list = ls())移除当前工作空间的所有对象,即清除R工作空间中的内存变量。
help(options)显示可用选项的说明。
options()显示或设置当前选项。
history(n)显示最近使用过的n个命令(默认值为25)。
savehistory(“myfile”)保存命令历史到文件myfile中(默认值为.Rhistory)。
loadhistory(“myfile”)载入一个命令历史文件(默认值为.Rhistory)。
save.image(“myfile”)保存工作空间到文件myfile中(默认值为.RData)。
save(objectlist,file=“myfile”)保存指定对象到一个文件中。
load(“myfile”)读取一个工作空间到当前会话中(默认值为.RData)。
q()退出R,并将会询问是否保存工作空间。

3.使用R包

3.1R包概述

  • 包是R函数、数据、预编译代码以一种定义完善的格式组成的集合。
  • 计算机上存储包的目录称为(library)。
  • 函数.**libPaths()**能够显示库所在的位置。
  • 函数**library()**则可以显示库中有哪些包。
  • R自带了一系列默认包(包括base、datasets、utils、grDevices、graphics、stats以及methods),它们提供了种类繁多的默认函数和数据集。其他包可通过下载来进行安装。

3.2 包的安装

  • 第一次安装一个包,使用命令install.packages(“package_name”,“dir”)即可。
  • dir:包安装的路径。默认情况下是安装在…\library 文件夹中的。可以通过本参数来进行修改,来选择安装的文件夹。
  • 一个包仅需要安装一次。但和其他软件类似,包经常被其作者更新。使用命令update.packages()可以更新已经安装的包。
  • 要查看已安装包的描述,可以使用installed.packages()命令,这将列出安装的包,以及它们的版本号、依赖关系等信息。

3.3 查看包的相关信息

  • 查看包帮助:library(help=“package_name”)
  • 主要内容包括:例如:包名、作者、版本、更新时间、功能描述、开源协议、存储位置、主要的函数
  • 查看当前环境哪些包加载:find.package()
  • 加载包:library(package_name) 或者 require(package_name)
  • 移除包出内存:detach(package:package_name)
  • 把包的数据加载到内存中:attach(iris)
  • 列出所有安装的包:library()

3.4 包的使用

  • 包的安装是指从某个CRAN镜像站点下载它并将其放入库中的过程,。要在R会话中使用它,还需要使用library()命令载入这个包。
  • 载入一个包之后,就可以使用一系列新的函数和数据集了。

3.5 常用R包

常用R包可划分为:

  • 空间数据分析类
  • 机器学习与统计学习类
  • 多元统计类
  • 药物动力学数据分析类
  • 计量经济类
  • 金融分析类
  • 并行计算类
  • 数据库访问类

​ 机器学习与统计学习类别就包含有实现分类、聚类、关联规则、时间序列分析等功能的R包,通过加载不同的R包就能够实现相应的数据挖掘功能.

功能函数及加载包
分类与预测nnet函数需要加载BP神经网络nnet包; randomForest函数需要加载随机森林randomForest包; svm函数需要加载e1071包; tree函数需要加载CRAT决策树tree包等
聚类分析hclust函数、kmeans()函数在stats包中
关联规则apriori函数需要加载arules包
omForest函数需要加载随机森林randomForest包; svm函数需要加载e1071包; tree函数需要加载CRAT决策树tree包等
聚类分析hclust函数、kmeans()函数在stats包中
关联规则apriori函数需要加载arules包
时间序列arima函数需要加载forecast、tseries包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/13787.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle ORA-27054报错处理

现象 在oracle执行expdp,rman备份,xtts的时候,由于没有足够的本地空间,只能使用到NFS的文件系统但有时候会出现如下报错 ORA-27054: NFS file system where the file is created or resides is not mounted with correct options根据提示信…

【数据结构】(6) LinkedList 链表

一、什么是链表 1、链表与顺序表对比 不同点LinkedListArrayList物理存储上不连续连续随机访问效率O(N)O(1)插入、删除效率O(1)O(N) 3、链表的分类 链表根据结构分类,可分为单向/双向、无头结点/有头节点、非循环/循环链表,这三组每组各取…

.net8.0使用EF连接sqlite数据库及使用Gridify实现查询的简易实现

EF Core EF Core 是一个流行的对象关系映射(ORM)框架,它简化了与数据库的交互,提供了一个高效、灵活且易于使用的数据访问层。 Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技…

【FPGA】 MIPS 12条整数指令 【3】

实现乘除 修改框架 EX:实现带符号乘除法和无符号乘除法 HiLo寄存器:用于存放乘法和除法的运算结果。Hi、Lo为32bit寄存器。电路描述与实现RegFile思想一致 仿真 代码 DataMem.v include "define.v"; module DataMem(input wire clk,input…

【回溯+剪枝】单词搜索,你能用递归解决吗?

文章目录 79. 单词搜索解题思路:回溯(深搜) 剪枝 79. 单词搜索 79. 单词搜索 ​ 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 …

【蓝桥杯—单片机】第十届省赛真题代码题解题笔记 | 省赛 | 真题 | 代码题 | 刷题 | 笔记

第十届省赛真题代码部分 前言赛题代码思路笔记竞赛板配置内部振荡器频率设定键盘工作模式跳线扩展方式跳线连接频率测量功能的跳线帽 建立模板明确初始状态显示功能部分频率显示界面第一部分第二部分第三部分 电压显示界面第一部分第二部分第三部分 按键功能部分S4:…

使用DeepSeek的技巧笔记

来源:新年逼自己一把,学会使用DeepSeek R1_哔哩哔哩_bilibili 前言 对于DeepSeek而言,我们不再需要那么多的提示词技巧,但还是要有两个注意点:你需要理解大语言模型的工作原理与局限,这能帮助你更好的知道AI可完成任务…

Apache SeaTunnel 整体架构运行原理

概述 SeaTunnel 缘起 数据集成在现代企业的数据治理和决策支持中扮演着至关重要的角色。随着数据源的多样化和数据量的迅速增长及业务需求的快速变化,企业需要具备强大的数据集成能力来高效地处理数据。SeaTunnel通过其高度可扩展和灵活的架构,帮助企业…

1-kafka服务端之延时操作前传--时间轮

文章目录 背景时间轮层级时间轮时间轮降级kafka中的时间轮kafka如何进行时间轮运行 背景 Kafka中存在大量的延时操作,比如延时生产、延时拉取和延时删除等。Kafka并没有使用JDK自带的Timer或DelayQueue来实现延时的功能,而是基于时间轮的概念自定义实现…

【Ubuntu】ARM交叉编译开发环境解决“没有那个文件或目录”问题

【Ubuntu】ARM交叉编译开发环境解决“没有那个文件或目录”问题 零、起因 最近在使用Ubuntu虚拟机编译ARM程序,解压ARM的GCC后想要启动,报“没有那个文件或目录”,但是文件确实存在,环境配置也检查过了没问题,本文记…

[含文档+PPT+源码等]精品大数据项目-Django基于大数据实现的心血管疾病分析系统

大数据项目-Django基于大数据实现的心血管疾病分析系统背景可以从以下几个方面进行阐述: 一、项目背景与意义 1. 心血管疾病现状 心血管疾病是当前全球面临的主要健康挑战之一,其高发病率、高致残率和高死亡率严重威胁着人类的生命健康。根据权威机构…

科技赋能数字内容体验的核心技术探索

内容概要 在数字化时代,科技的迅猛发展为我们的生活和工作带来了深刻的变革。数字内容体验已经成为人们获取信息和娱乐的重要途径,而这背后的技术支持则扮演着至关重要的角色。尤其是在人工智能、虚拟现实和区块链等新兴技术的推动下,数字内…

【权重小技巧(3) 】权重替换—训练 A 模型去替换 B 模型中的对应权重

系列文章目录 【权重小技巧(1)】.pt文件无法打开或乱码?如何查看.pt文件的具体内容?【权重小技巧(2)】模型权重文件总结: .bin、.safetensors、.pt的保存、加载方法一览本文则总结权重的结构化读取和替换方法,以实现在框架 1 中训练后的部分…

VSCode中使用EmmyLua插件对Unity的tolua断点调试

一.VSCode中搜索安装EmmyLua插件 二.创建和编辑launch.json文件 初始的launch.json是这样的 手动编辑加上一段内容如下图所示: 三.启动调试模式,并选择附加的进程

k8sollama部署deepseek-R1模型,内网无坑

这是目录 linux下载ollama模型文件下载到本地,打包迁移到k8s等无网络环境使用下载打包ollama镜像非k8s环境使用k8s部署访问方式非ollama运行deepseek模型linux下载ollama 下载后可存放其他服务器 curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linu…

2025年Android NDK超全版本下载地址

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…

通信易懂唠唠SOME/IP——SOME/IP-SD服务发现阶段和应答行为

一 SOME/IP-SD服务发现阶划分 服务发现应该包含3个阶段 1.1 Initial Wait Phase初始等待阶段 初始等待阶段的作用 初始等待阶段是服务发现过程中的一个阶段。在这个阶段,服务发现模块等待服务实例的相关条件满足,以便继续后续的发现和注册过程。 对…

1. Kubernetes组成及常用命令

Pods(k8s最小操作单元)ReplicaSet & Label(k8s副本集和标签)Deployments(声明式配置)Services(服务)k8s常用命令Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化应用程序的部署、扩展和管理。自2014年发布以来,K8s迅速成为容器编排领域的行业标准,被…

Vue全流程--Vue2组件的理解第二部分

组件命名规则 好的命名规则可以省去很多不必要的麻烦,这个好习惯还是要养成的 一个单词组成: 第一种写法(首字母小写):school 第二种写法(首字母大写):School 多个单词组成: 第一种写法(kebab-case命名)&#xf…

【OS】AUTOSAR架构下的Interrupt详解(上篇)

目录 前言 正文 1.中断概念分析 1.1 中断处理API 1.2 中断级别 1.3 中断向量表 1.4 二类中断的嵌套 1.4.1概述 1.4.2激活 1.5一类中断 1.5.1一类中断的实现 1.5.2一类中断的嵌套 1.5.3在StartOS之前的1类ISR 1.5.4使用1类中断时的注意事项 1.6中断源的初始化 1.…