R语言及Rstudio入门小建议(一)

  • 前言
  • 相关背景及学习资料
  • 基本操作
    • 数据导入
      • 包(package)
      • 外部数据的导入
    • 数据类型和数据转换
  • R功能介绍
    • Rstudio强大的查询功能
    • R markdown
    • 其余功能
  • 后记

前言

这学期选修了回归分析,恰巧大作业要用到R语言去实现,便把积灰已久的RStudio重新寻找了回来。R软件是统计课程的得力工具(数学专业算是,医学专业的话可能更多的是用SAS,SPSS等),如何快速地上手这门实用的软件呢?接下来,我将从我的使用经验与参考书来讲一讲。

相关背景及学习资料

百度百科对R的评价为:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
在这里我想点赞一下GNU源代码开放精神(与正文内容无关,读者选择性阅读),这种源代码开放的精神,一般被称为 open source,这种观念源于Richard Stallman。他认为私藏源代码是一种违反人性的罪恶行为。他认为如果与他人分享源代码,便可以让其他人从中学习,并回馈给原始创作者。封锁源代码虽然可以程度不一地保障 “ 智慧可能衍生的财富 ”,却阻碍了使用者从中学习和修正错误的机会。Stallman于1984年离开麻省理工学院,创立自由软件基金会,写下了著名的GNU宣言,开始名为GNU的开放改革计划。GNU这个名称是计算机族的幽默展现,代表了 GUN is Not Unix。当时Unix是计算机界的主流操作系统,由AT&T实验室创造,这原本只是一个学术上的练习产品,AT&T将它分享给许多研究人员,但是当所有研究与分享使这个产品越变越美好时,AT&T开始思考是否追加投资,并对从中获利抱以预期。于是开始要求大学校园内的相关研究人员签约,要求他们不得公开或透露UNIX源代码。Stallman将AT&T的这种行为视为思想钳制,以及一种伟大传统的沦陷。在此之前,计算机界的氛围是大家无限制地共享个人成果(当然是指最初的源代码)
上文有关GNU的论述摘录自侯健的《STL源码剖析》
正是由于R源代码开放的特性,当我们简单掌握入门语法后,可以方便的通过查看函数源代码来进行R的进一步学习。

参考书及学习资料:
R官网和RStudio官网都提供了免费的书籍,推荐看Rstudio的,相比R官网里的比较新,链接在此:https://www.rstudio.com/resources/books/

基本语法和基础操作的学习,我不推荐看Rstudio提供的书籍,而是参考R官网中Document下的manual,如果觉得英语阅读实在有难度,建议在菜鸟教程或其他网站找到简单的中文教程。
这里还推荐一本书(但书中只有一小部分是入门级别的):《R语言实战》(中译本)可以在 鸠摩搜书 上找到资源。
之前我看过《R for data science》,这本书抛开操作,它更多地是为我们展示了一个统计方法解题过程,作者的观点是具有很强启发性的,至于其余的书我实际上还没看过。

讲了这么多,其实还有一个地方得提一下——有些人可能对计算机不太熟悉,不是很清楚R和Rstudio的关系:R是R语言本身自带的编译器,但这个编译器有许多不足之处,便有人对其进行改造,而RStudio便是改装后的编译器,聪明的你一定想到了不同的改造和扩充不就会产生不同的软件吗?确实是这样的,除了Rstudio之外,我们常见的还有 Tinn-R, R commander,这里只是简单叙述,想深入了解的可以自行搜索。

基本操作

数据导入

包(package)

如果有学过python或Java,相信对于package的概念并不陌生
包是 R 函数、实例数据、预编译代码的集合,包括 R 程序,注释文档、实例、测试数据等。R 语言相关的包一般存储安装目录下对 “library” 目录,默认情况在 R 语言安装完成已经自带来一些常用对包,当然我们也可以在后期自定义添加一些要使用的包。R 语言完整的相关包可以查阅:https://cran.r-project.org/web/packages/available_packages_by_name.html

> .libPaths()
[1] “/Library/Frameworks/R.framework/Versions/4.0/Resources/library”

我们可以使用以下函数来查看编译环境已载入的包:

> search()
[1] “.GlobalEnv” “package:stats” “package:graphics”
[4] “package:grDevices” “package:utils” “package:datasets”
[7] “package:methods” “Autoloads” “package:base”

但在Rstudio下没必要这么麻烦,直接在package下查看就行了,也可以通过简单打勾、取消打勾加载包

这里的简单逻辑是这样的你要调用一个包,首先你得有这个包,没有的话就得下载( install.package( ) ),下载完这个包后并不意味着我们可以直接使用它,而是先要加载这个包( library( ) ),这样子做是合理的,要是每个包在未使用前都加载完毕,一是对性能有影响,二是很容易造成方法重名等问题(因为会多很多个重载函数)。

注:①判断有没有这个包,可以直接用library()更容易,如果没有这个包它会提醒你,并询问你是否安装,R自带的编译器就没有这个功能。
② 本来是想放在查询里面的,这里提前说,如何查看一个包的信息
假如我们要查看TSA的里面有什么数据集及相关信息,

>library(help = "TSA")


对于R的学习——我觉得一个很重要的能力——有效读取帮助信息,也是很重要的。

外部数据的导入

在R语言中,我们可以从存储在R语言环境外的文件中读取数据。 我们还可以将数据写入将被操作系统存储和访问的文件。 R语言可以读取和写入各种文件格式,如csvexcelxml等。以csv文件为例:
第一步并不是直接将数据读入,能将数据顺利读入的前提是数据在Rstudio的搜索路径上,Rstudio提供的File功能可以让我们很容易的调出数据,因此,假如我们的数据并没有在搜索路径上,我们可以把数据文件加进File下的某个文件,或者添加File的搜索路径,通过 New Folder

我们也可以利用函数进行同样操作
获取和设置工作目录:使用​getwd()​函数检查R语言工作区指向的目录。 您还可以使用​setwd()​函数设置新的工作目录。

# Get and print current working directory.
print(getwd())# Set current working directory.
setwd("/web/com")# Get and print current working directory.
print(getwd())

第二步才是读取数据,自定义一个变量去存放

# 读取CSV文件
# 以下是​read.csv()​函数的一个简单示例,用于读取当前工作目录中可用的 CSV 文件 -
data <- read.csv("input.csv")
print(data)

数据类型和数据转换

关于数据类型,其实有一个细节需要注意一下,变量并不会声明为某种数据类型。变量分配有 R 对象,R 对象的数据类型变为变量的数据类型。按性质来分,基本数据类型由数字、逻辑、文本构成;按存储来分,我们的基本数据类型有矢量(vector),列表(list),矩阵(matrix),数组(array),因子(factor),数据帧(data frames)。但实际上,我个人觉得这些东西也没必要去硬记。一方面,开头就搞这些很理论的东西会大大挫伤学习兴趣,即使是隐式的。另一方面,一个变量其R对象是什么数据类型无非意味着它具有这个数据结构下所封装的方法(函数等)。我们需要意识的是,一数据类型的种类实际上是多到你不可能都十分了解的,二数据类型之间的相互转换为数据类型多样性提供了一种可行的解决方案,假使,一个我们不熟悉的数据类型可以转换成我们熟悉的基本数据类型,如果是vector那是最好了,我们可以迅速对这个不熟悉的数据类型进行相应操作。

常见的数据类型转换有as.vector(),这里不展开具体论述,但给出一个例子:

> library("TSA")
> data(tempdub)
> month=season(tempdub)
> model=lm(tempdub~month)
> plot(y=rstudent(model),x=as.vector(time(tempdub)),type='o')

具体的细节不讲,我们把目光转到x=as.vector(time(tempdub)),实际上,time(tempdub)的类型是 “ts”(不是基本数据类型,是时间序列特有的一种类型),但是 plot() 本身没有参数为 “ts” 的重载函数,因此,我们需要借助as.vector(),将其转换为矢量类型,以保证 plot() 函数的顺利执行。

R功能介绍

Rstudio强大的查询功能

授人以鱼不如授人以渔,学会自己查询我觉得是很重要的。而Rstudio相对于R在帮助文件上,会有很大的提升,快捷键cirl+3可以让我们迅速地切换到帮助窗口,这里顺便介绍一个利用快捷键提高工作效率的方法——利用快捷键灵活实现界面切换界面的放大缩小。不要看这个改进微不足道,实际上是很好用的。利用cirl+number(1,2,3,4,5,6,7,8,9)实现界面的切换,一般常用的是2,3,6。利用cirl+shift+number(1,2,3,4,5,6,7,8,9)实现界面的缩放,请读者自行尝试。

R markdown

R markdown:一个非常实用的文章编辑工具,将你的数据分析过程用文档的形式呈现出来,文章内部的代码块,可以选择性的显示或隐藏。代码块运行所得到的图像,表格可以呈现在文章内部。R Markdown支持几十种静态和动态输出格式,包括 HTML、PDF、MS Word、Beamer、HTML5幻灯片、簇绒式讲义、书籍、仪表板、闪亮的应用程序、科学文章、网站等。我们常用的是输出为pdf或html文档。
(以下是我上学期的课设,使用R markdown并输出为html文档)

(内部的标题用层级,蓝字部分是超链接)

(这里展示了表格和代码块)

哦,实际上,借助一些现成的模板(比如。包 prettydoc),可以生成非常好看的输出文件,或者如果熟悉前端三板斧的话,也可以自己动手做一个自己的模板,不过,会很麻烦,我一般建议是改别人写好的,毕竟,别人写的代码确实好。以下是我在包 prettydoc 提供的模板基础上,增加了动态小球碰撞效果(在head部分添加一个写好的js文件),是的,后面那些小球是会动的

其余功能

R notebook:实际上我不怎么用,讲真,我觉得有点多余,可以直接用 R markdown 写

Shiny web App:交互性很强,但我还没用过,不敢妄论,以后补齐。

后记

必须说写下这篇文章,我查阅了不少资料,也从中学得一些东西。Rstudio官网提供的书籍实际上是很好用的,但也正是这个原因,要完全读懂这些书需要花费一定的时间与不停的自我尝试,写在这里也希望能勉励自己后续进行学习吧。这个系列我还会写下去,但更新速度势必是很慢的,因为各种原因。共勉。

R语言及Rstudio入门小建议(一)相关推荐

  1. linux服务器上装r,linux服务器安装R语言及Rstudio server

    在linux服务器上使用R语言及Rstudio server cat /etc/redhat-release: 查看服务器系统版本 1. R 程序包获取 查看最新版本的下载链接,使用wget获取 wg ...

  2. R语言及RStudio下载安装

    R语言及RStudio下载安装 1. R下载 官网:https://www.r-project.org/ 点击Download 选择清华大学的镜像 点击 先点击base 点击下载 运行 保持默认 安装 ...

  3. [R语言学习笔记] - R语言及Rstudio配置合集

    本文涉及配置 package目录重定向. 下载镜像(Repository)重定向. Rstudio editor theme. Rprofile.site 配置文件位于R内核的安装目录下.如果安装了多 ...

  4. R语言和RStudio安装,载入TXT、CSV和XLSX(利用RODBC)文件

    系列文章 R语言进行系统聚类分析并作图(数据来源国家统计局) R语言载入arules程序包的Epub数据集,使用Apriori算法,进行关联规则分析 R语言利用贝叶斯分类法(klaR程序包),训练数据 ...

  5. 记录R语言及python实现地质图形展示

    记录R语言及python实现地质图形展示 一.环境安装 目前环境:r3.3.3 python:3.7.0 遇到问题及解决: 1.no rJava: 安装macjava环境 2.mac 环境打不开ana ...

  6. R语言和Rstudio下载 以及 R 包安装

    R语言和Rstudio下载 The Comprehensive R Archive Network (r-project.org)  进入官网下载与电脑相符的R语言 比如我的电脑是Windows x6 ...

  7. R语言和RStudio开发环境的下载与安装

    文章目录 R的下载和安装 RStudio的下载与安装 R的下载和安装 进入官网:https://www.r-project.org/ 下载完成后双击运行安装包,注意这里全部点击下一步默认即可,不要更改 ...

  8. CentOS7 配置R语言及Rstudio-serve

    今天找了个导师给了一个CentOS7的服务器,打算安装上R语言的环境,用来跑R脚本,但是由于没有学习和尝试过,所以特此记录一下安装过程,为以后安装提供一些思路 参考一些人的方法后,发现使用rpm包管理 ...

  9. Ubuntu 22.04 安装R语言及R studio

    第一部分.安装R语言 一开始在终端运行以下命令安装: sudo apt install r-base R安装成功,显示为4.1某版本. 但安装某R包失败,提示不是最新版的R,版本不支持. 遂去官方网站 ...

  10. r语言和rstudio_R和RStudio简介

    r语言和rstudio With increased computing power comes increased access to large amounts of freely accessi ...

最新文章

  1. 鼠标放在图片连接上面,预览图片
  2. ELK之ElasticSearch快速入门
  3. 虚幻引擎学习之路:粒子系统篇(二)
  4. 莫比乌斯反演与最大公约数
  5. Java 算法 拦截导弹
  6. 飘逸的python - 简明gzip模块压缩教程
  7. java adt简单开发,android java开发 第一天 之熟悉eclipse adt-Go语言中文社区
  8. UnauthorizedAccessException Invaild cross-thread access
  9. 28. 字符串的排列(C++版本)
  10. ERR Errors trying to SHUTDOWN. Check logs.
  11. cibersortx怎么用_Xbox series x加速器怎么用 Xbox series x加速器的使用教程
  12. 算法设计与分析重点总结
  13. DAC、ADC、FFT使用总结
  14. android无线投屏到电视盒子,【沙发管家】如何把电脑视频投屏到智能电视/ 电视盒子上?...
  15. 解析《啊哈C》--最终章:用C语言制作走迷宫和推箱子的小游戏
  16. matlab仿真高尔顿正态分布源码,杂谈 | 正态分布为什么如此常见
  17. Eclipse配置优化
  18. 嵌入式学习笔记-迅为4412开发板实现一键开关机休眠唤醒
  19. 商业智能系统具有的主要功能
  20. 爱快云微信连wifi3.1用户前期准备工作

热门文章

  1. 角度传感器原理和应用
  2. Visio| Visio简易使用指南
  3. 帆软报表帮助文档_给大家分享一款值得推荐的免费好用的web报表插件
  4. 不确定度在线计算_计量测量的不确定度详解
  5. centos7完全卸载mysql_Centos7 完全卸载mysql
  6. 基于AI的恶意软件分析技术(3)
  7. Actran助力汽车全频率段声学响应预测与优化
  8. 论文查重算法 python_论文查重降重绝密方法
  9. SQL2016安装错误:安装程序无法与下载服务器联系。请提供 Microsoft R Open 和 Microsoft R Server 安装文件的位置
  10. 2020年下半年软件设计师上午真题及答案解析(个人见解+网络解答+持续更新)