1-R语言概述

news2025/2/7 6:30:46

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.coloradmin.cn/o/2294152.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【BQ3568HM开发板】智能家居中控屏连接华为云IoTDA物联网平台

目录 引言 安装OpenHarmony的MQTT库 华为云平台的操作 建立设备 建立物模型 连接华为云平台 发布LED灯状态 代码重构 测试结果 接收平台发送的属性修改命令 设备侧API Topic 下行请求参数说明 上行响应参数说明 程序修改 应用侧API 测试设备属性设置功能 结语…

java 8 在 idea 无法创建 java spring boot 项目的 变通解决办法

java 8 在 idea 无法创建 java spring boot 项目的 变通解决办法 spring boot 3 官方强制 要用 java 17 ,但是 不想安装java 17的 ,但是又想 使用 spring boot ,可以这样 : 在这个网站 https://start.aliyun.com/ 选择 你相对…

web-文件上传-CTFHub

前言 在众多的CTF平台当中,作者认为CTFHub对于初学者来说,是入门平台的不二之选。CTFHub通过自己独特的技能树模块,可以帮助初学者来快速入门。具体请看官方介绍:CTFHub。 作者更新了CTFHub系列,希望小伙伴们多多支持…

SQLAlchemy-2.0中模型定义和alembic的数据库迁移工具

SQLAlchemy-2.0中模型定义和alembic的数据库迁移工具 一、SQLAIchemy的介绍二、数据库引擎1、支持的数据库1.1、sqlite数据库1.2、MySQL数据库1.3、数据库引擎的参数 三、定义模型类1、定义模型2、engine负责数据库迁移 四、alembic数据库迁移⼯具1、安装alembic2、初始化alemb…

C# OpenCV机器视觉:图像风格迁移

在一个充满奇思妙想的创意工作室里,小李正像只热锅上的蚂蚁,为客户的项目挠破了脑袋,急需寻找灵感的火花。他望着眼前那幅平淡无奇的风景图像,心想:“这玩意儿也太普通啦,就像一杯白开水,怎么能…

语言月赛 202311【基因】题解(AC)

》》》点我查看「视频」详解》》》 [语言月赛 202311] 基因 题目描述 有一个长度为 n n n 的字符串 S S S。其只包含有大写字母。 小 A 将 S S S 进行翻转后,得到另一个字符串 S ′ S S′。两个字符串 S S S 与 S ′ S S′ 对应配对。例如说,对…

Spring @PropertySource:让你的应用配置更加模块化和可维护

PropertySource注解在Spring中的作用,就像是给Spring应用配了一个“外部配置箱”。 想象一下,你在开发一个Spring应用时,有很多配置信息需要设置,比如数据库的连接信息、应用的某些功能开关等。如果这些信息都硬编码在代码中&…

Deep Sleep 96小时:一场没有硝烟的科技保卫战

2025年1月28日凌晨3点,当大多数人还沉浸在梦乡时,一场没有硝烟的战争悄然打响。代号“Deep Sleep”的服务器突遭海量数据洪流冲击,警报声响彻机房,一场针对中国关键信息基础设施的网络攻击来势汹汹! 面对美国发起的这场…

快速搭建GPU环境 | docker、k8s中使用gpu

目录 一、裸机部署安装 GPU Driver安装 CUDA Toolkit测试 二、Docker 环境安装 nvidia-container-toolkit配置使用该 runtime 三、 k8s 环境安装 device-plugin安装 GPU 监控 一、裸机部署 裸机中要使用上 GPU 需要安装以下组件: GPU DriverCUDA Toolkit 二者的关…

npm中央仓库

1、官网地址 npm | Home 2、搜索依赖包

2025年软考考试时间及考试科目如何安排?附考试注意事项!

一、考试时间 2025年软考举行两次考试,分别安排在上半年和下半年。根据最新公布的信息,2025年软考考试的具体时间安排如下: 上半年考试时间:5月24日至5月27日 下半年考试时间:11月8日至11月11日 考生需要在规定的时间内…

4.PPT:日月潭景点介绍【18】

目录 NO1、2、3、4​ NO5、6、7、8 ​ ​NO9、10、11、12 ​ 表居中或者水平/垂直居中单元格内容居中或者水平/垂直居中 NO1、2、3、4 新建一个空白演示文稿,命名为“PPT.pptx”(“.pptx”为扩展名)新建幻灯片 开始→版式“PPT_素材.doc…

HTML排版标签、语义化标签、块级和行内元素详解

目录 前言 一、HTML中的排版标签 1. 文本相关标签 1.1 标题标签 ~ 1.2 段落标签 1.3 强调和加粗 1.4 换行标签 1.5 水平线标签 二、HTML中的语义化标签 2.1 语义化标签概述 2.2 常见的语义化标签 示例(核心代码部分): 三、HTM…

机器学习中的关键概念:通过SKlearn的MNIST实验深入理解

欢迎来到我的主页:【Echo-Nie】 本篇文章收录于专栏【机器学习】 1 sklearn相关介绍 Scikit-learn 是一个广泛使用的开源机器学习库,提供了简单而高效的数据挖掘和数据分析工具。它建立在 NumPy、SciPy 和 matplotlib 等科学计算库之上,支持…

用NeuralProphet预测股价:AI金融新利器(附源码)

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话:我用NeuralProphet模型预测了股票价格,发现其通过结合时间序列分析和神经网络算法,确实能提供比传统Last Value方法更精准的预测。经过一系列超参数调优…

深度学习-103-RAG技术之通过分块技术提升RAG的效果

文章目录 1 RAG中的分块技术1.1 RAG是什么1.2 分块chunking是什么1.3 分块的重要性1.4 分块的技巧2 固定字符大小分块2.1 固定字符大小分块的优缺点2.2 自定义分块代码2.3 LangChain的CharacterTextSplitter3 递归字符文本分割3.1 递归字符文本分割的优缺点3.2 LangChain的Recu…

【B站保姆级视频教程:Jetson配置YOLOv11环境(六)PyTorchTorchvision安装】

Jetson配置YOLOv11环境(6)PyTorch&Torchvision安装 文章目录 1. 安装PyTorch1.1安装依赖项1.2 下载torch wheel 安装包1.3 安装 2. 安装torchvisiion2.1 安装依赖2.2 编译安装torchvision2.2.1 Torchvisiion版本选择2.2.2 下载torchvisiion到Downloa…

Java进阶14 TCP日志枚举

Java进阶14 TCP&日志&枚举 一、网络编程TCP Java对基于TCP协议得网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信。 1、TCP协议发数据 1.1 构造方法 方法 说明 Socket(InetAddress address…

[LVGL] 在VC_MFC中移植LVGL

前言: 0. 在MFC中开发LVGL的优点是可以用多个Window界面做辅助扩展 1.本文基于VC2022-MFC单文档框架移植lvgl8 2. gitee上下载lvgl8.3 源码,并将其文件夹改名为lvgllvgl: LVGL 是一个开源图形库,提供您创建具有易于使用的图形元素、漂亮的…

Crewai框架配置回调函数

官方文档里只指提了一句 不过不太难,在crew.py文件里配置一下就行了,下面是一个demo,这个函数会在research_task任务执行完触发(配置LLM这里请看我这篇博客) from crewai import Crew, Process, Agent, Taskfrom src.…