4

使用 R 语言进行数据分析

 3 years ago
source link: https://wiki-power.com/%E4%BD%BF%E7%94%A8R%E8%AF%AD%E8%A8%80%E8%BF%9B%E8%A1%8C%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

使用 R 语言进行数据分析

软件安装#

  • R-software
    • 如果是在 Windows 上使用,请在网站主页点击 Download R for Windows,然后点击 install R for the first time,最后点击 Download R 4.0.4 for Windows,下载软件后请自行完成安装。
    • R 语言支持软件仅在后台运行,没有图形化界面。
  • RStudio
    • 直接点击蓝色的 Download 按钮,或者在页面下方选择其他系统版本下载。下载软件后请自行完成安装。

教学资源#

在线资源(推荐)#

书籍#

基本数据类型#

R 语言的数据类型,主要有以下这几种:

  • 数值型(numerics)
  • 整数型(integer)
  • 复数型(complex)
  • 逻辑型(logical)
  • 字符型(characters)

数值型(numerics)#

数值型是 R 语言中最基本的数据类型。当我们把一个数字值赋给变量,那变量的类型就是数值型:

整数或小数都可以是数值型变量。但如果按照以上的方法创建,那么整数变量也会被视为小数变量。

整数型(integer)#

如果要创建整数型变量,就得使用函数 is.integer

除了使用 is.integer 函数,你也可以附加 L 后缀来实现:

如果要对小数进行取整,我们可以使用函数 as.integer

也可以对字符串类型进行解析并取整:

但如果解析的字符串不是数值,那就会出错:

R 语言像 C 语言一样,把整数 1 0 与逻辑 TRUE FALSE对应了起来:

复数型(complex)#

在 R 语言中,复数变量通过 i 来定义:

如果我们单纯对 -1 开方,那将会出错:

但是对复数 −1+0i 开方,那就没问题:

也可以用强制类型转换来进行运算:

逻辑型(logical)#

逻辑型通常通过比较变量而产生:

基本逻辑操作有 &(与),|(或), !(非):

字符型(character)#

字符型可通过函数 as.character 进行强制类型转换得到:

要合并两个字符型变量,可以使用函数 paste

像 C 语法一样,可以用格式输出以增加可读性,用函数 sprintf 即可:

如果要从字符串中提取子串,可以使用函数 substr(示例中把第 3 到第 12 个字符之间的字符截取了下来):

如果要把第一个遇见的字符替换成另外一个,可以使用函数 sub(示例中把 little 替换成了 big):

向量#

R 语言中的向量#

向量是一个包含相同类型元素的数组,向量中的成员被官方称为 components。

以下是一个示例向量(包含三个数值变量 2 3 5):

也可以全部由逻辑型构成:

也可以由字符型构成:

如果想知道一个向量内有多少个成员,可以使用函数 length

合并向量#

如果要合并两个向量,可以使用函数 c

注意在上面的例子中,如果合并两个不同数据类型的向量,那合并后的类型将会是向下兼容的(即将比较严格的类型,进行强制类型转换为比较宽松的类型,例如将数值型变成字符型)

向量基本运算#

我们先假定两个向量 a b

以下就是向量的基本运算:

如果相加的两个向量成员数量不一致,那么结果将会向下兼容,即输出变量的长度取决于较长的那个:

检索向量#

如果要从向量中取出成员,可以使用在 [ ] 中声明索引的方法,也就是 [第几个成员]

如果索引前加一个负号,比如 [-3],就意味着取出除第三个成员外的其他成员:

如果索引超出了向量的长度,那就会报错:

【更新中】


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK