首页 > 其他分享 >BGI-College生信入门——8、R语言基础(一)

BGI-College生信入门——8、R语言基础(一)

时间:2022-09-19 10:12:24浏览次数:92  
标签:创建 数据类型 College 生信 BGI RStudio data 向量 names

什么是 R?

R 是用于统计和作图的免费软件
可在各种 UNIX 平台、Windows 和 MacOS 上编译和运行

R 的组成

一种语言、带有图形的运行环境、调试器、访问某些系统功能以及运行脚本文件中程序的能力

R 的安装

R installation on Unix-like
R installation on Windows
R installation on Mac

什么是 RStudio

RStudio 是 R 的集成开发环境 (Integrated Development Environment, IDE)

RStudio 的组成

一个控制台、支持直接代码执行的语法高亮编辑器,以及用于绘图、历史记录、调试和工作区管理的工具

RStudio 的安装

注意 RStudio 安装需预先安装 R ,并在同一个磁盘

Tips

查看所有已安装的 R 包

library()

安装指定的 R 包

install.packages() 

列出当前环境定义的变量

ls() 

清空当前环境变量

rm(list=ls(all=TRUE))

清空当前行命令

Eas

自动补全

tab

清屏

Ctrl + L

调出历史命令

Ctrl + up

列出当前目录下的所有文件

list.files()

返回当前路径

getwd()

设置工作路径

setwd()

列出文件前6行信息

head()

列出文件后6行信息

tail()

R 的数据类型

VectorMatrixArrayData FrameListFactor
向量 矩阵 数组 数据框 列表 因子

判断数据类型

# 方法一
class()
typeof()
# 方法二
is.vector()
is.matrix()
is.array()

向量、矩阵和数组都是高等数学运算中常用的工具,在 R 中作为数据类型,可以更方便地操作数据对象

创建向量使用c()

a <- c(1,2,3,4,5)
print(a)
[1] 1 2 3 4 5

创建矩阵可以使用 matrix() 函数

### 创建一个1行5列的矩阵
matrix(data = a, nrow = 1, ncol = 5, byrow = FALSE, dimnames = NULL)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5

data 向量
nrow 行数
ncol 列数
byrow 逻辑值,按行或列排序
dimnames 设置行列名称

创建数组使用 array() 函数,该函数使用向量作为输入参数,可以使用 dim 设置数组维度

### 创建一个2行3列的二维数组
b <- c(6,7,8)
array(data = c(a,b), dim = c(2,4,2), dimnames = NULL)
, , 1

     [,1] [,2] [,3] [,4]
[1,]    1    3    5    7
[2,]    2    4    6    8

, , 2

     [,1] [,2] [,3] [,4]
[1,]    1    3    5    7
[2,]    2    4    6    8
### 创建一个2行2列的二维数组
array(data = c(a,b), dim = c(2,2,2), dimnames = NULL)
, , 1

     [,1] [,2]
[1,]    1    3
[2,]    2    4

, , 2

     [,1] [,2]
[1,]    5    7
[2,]    6    8

data:向量
dim:数组维度,默认是一维
dimnames:维度名称,默认不设置

Data Frame 数据框,特殊的二维数据列表,要求每一列长度相同,同一列数据类型一致

创建数据框使用 data.frame() 函数

data.frame(..., row.names = NULL, check.rows = FALSE,
           check.names = TRUE, fix.empty.names = TRUE,
           stringsAsFactors = FALSE)

...:列向量(字符型、数值型、逻辑型),以 tag = value 形式表示,也可以直接用 value
row.names:行名,默认不设置,可设置为单个数字或字符串的向量
check.rows:检查行的名称和长度是否一致
check.names:检查数据框的变量名是否合法
fix.empty.names:设置未命名的参数是否自动设置名称
stringsAsFactors:布尔值,字符是否转换为因子,在 R 4.0.0 中默认为FALSE

List 列表是 R 语言的对象集合,用来保存不同类型的数据(数字、字符串、向量、列表、矩阵和函数)

创建列表使用 list() 函数

### 创建一个纯数字的列表
list_a <- list(1,2,3,4,5)
print(list_a)
[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

[[4]]
[1] 4

[[5]]
[1] 5

### 创建一个包含向量、矩阵和列表的列表
list_b <- list(c(4,5,6),matrix(c(1,2,3,4),nrow = 2),list("BGI","College",2022))
print(list_b)
[[1]]
[1] 4 5 6

[[2]]
     [,1] [,2]
[1,]    1    3
[2,]    2    4

[[3]]
[[3]][[1]]
[1] "BGI"

[[3]][[2]]
[1] "College"

[[3]][[3]]
[1] 2022

### 使用 names() 函数给列表元素命名
names(list_b) <- c("vector","matrix","list")
print(list_b)
$vector
[1] 4 5 6

$matrix
     [,1] [,2]
[1,]    1    3
[2,]    2    4

$list
$list[[1]]
[1] "BGI"

$list[[2]]
[1] "College"

$list[[3]]
[1] 2022

Factor 因子用于存储不同类别的数据类型,例如球类可以分为篮球、足球、排球、羽毛球、乒乓球等等

创建因子使用 factor() 函数

factor(x = character(), levels, labels = levels,
       exclude = NA, ordered = is.ordered(x), nmax = NA)

x:向量
levels:指定水平值,不指定时通过 as.character(x) 确定
labels:水平的标签, 不指定时用各水平值的对应字符串
exclude:形成水平值时需要排除的字符
ordered:逻辑值,用于指定水平是否有序
nmax:水平的上限数量

把字符型向量转换成因子

ball <- c("basketball","football","volleyball","badminton","pingpong")
ball_type <- factor(ball)
print(ball_type)
[1] basketball football   volleyball badminton  pingpong  
Levels: badminton basketball football pingpong volleyball

### 判断数据类型是否为因子
is.factor(ball_type)
[1] TRUE

标签:创建,数据类型,College,生信,BGI,RStudio,data,向量,names
From: https://www.cnblogs.com/bgicollege/p/16706774.html

相关文章

  • VUE3.0+Antdv+Asp.net WebApi开发学生信息管理系统(完)
    在B/S系统开发中,前后端分离开发设计已成为一种标准,而VUE作为前端三大主流框架之一,越来越受到大家的青睐,Antdv是Antd在Vue中的实现。本系列文章主要通过Antdv和Asp.netWebA......
  • 利用Java集合实现学生信息的”增删查“
    之前学了Java中的集合,打算写一个小程序来消化一下!那么我们知道,集合相比数组的优点就是可以动态的增加元素,这对比数组来说,十分的便捷;并且集合为我们封装好一些方法,可以更......
  • VUE3.0+Antdv+Asp.net WebApi开发学生信息管理系统(四)
    在B/S系统开发中,前后端分离开发设计已成为一种标准,而VUE作为前端三大主流框架之一,越来越受到大家的青睐,Antdv是Antd在Vue中的实现。本系列文章主要通过Antdv和Asp.netWebA......
  • MFC学生信息管理系统
    MFC学生信息管理系统题目4“学生信息管理系统设计”使用C++语言,MFC框架实现学生信息管理系统的开发设计。1、问题描述学生信息包括:学号、姓名、性别、年龄、班级等信......