目录

R语言的基础命令及实例操作

目录

R语言的基础命令及实例操作

T & F

[1] FALSE

T & T

[1] TRUE

T | F

[1] TRUE

F | F

[1] FALSE

a <- c(T,F,T)

b <- c(F,F,T)

a & b

[1] FALSE FALSE  TRUE

a | b

[1]  TRUE FALSE  TRUE

R 中,大小写是敏感的,也就是说 A 和 a 是不同的对象。

  1. 对象命名规则
    • 对象名不能以数字开头,但数字可以出现在对象名的中间或结尾。例如,a1 是合法的,但 1a 不是。
    • 在命名对象时,建议使用点(.)作为分隔符,这样可以提高可读性。例如:anova.result1。
  2. 示例:创建一个向量
    • 你可以通过如下命令创建一个向量:

      a <- c(10, 15, 21, 18)

      这个向量 a 包含了 4 个元素,数据类型为数值型(numeric),长度为 4。

  3. 命名注意事项
    • 在命名对象时,要避免与 R 中的保留名称(关键字)冲突。以下是一些保留名称示例:
      • NA:缺失值
      • NaN:非数值
      • pi:圆周率常数
      • LETTERS:包含所有大写字母的字符向量
      • letters:包含所有小写字母的字符向量
      • month.abb:月份的缩写
      • month.name:月份的全名

避免将对象命名为这些保留名称,以免与 R 语言的内置功能冲突。

R 中,有几种基本的数据类型:

  1. 数值型(Numeric)
    • 用于存储数字,包括整数和浮动点数。
    • 示例:100, 0, -4.335
  2. 字符型(Character)
    • 用于存储文本数据,通常用双引号或单引号括起来。
    • 示例:“China”
  3. 逻辑型(Logical)
    • 用于存储逻辑值,即 TRUE 或 FALSE。
    • 示例:TRUE, FALSE
  4. 因子型(Factor)
    • 用于表示分类数据,也就是不同类别或水平的变量。因子型变量可以用来表示类别,如性别、地区等。
    • 示例:factor(c(“Male”, “Female”, “Female”, “Male”))
    • 可以用来输入患者的信息
  5. 复数型(Complex)
    • 用于存储复数数据,形式为 a + bi。
    • 示例:2 + 3i
  • 向量(Vector)
    • 向量是同一类型元素的集合。向量是R中最基本的数据结构,可以包含数值、字符、逻辑值等。

    • 示例:

      v <- c(1, 2, 3, 4)

  • 数组(Array)
    • 数组是多维的数据表,可以是 任意维度 (维数 k)。数组的元素必须是相同的数据类型。

    • 示例:创建一个二维数组

      arr <- array(1:6, dim = c(2, 3))

  • 矩阵(Matrix)
    • 矩阵是数组的一个特例,具有 2 个维度 (即行和列)。矩阵中的元素必须是同一数据类型。

    • 示例:

      mat <- matrix(1:6, nrow = 2, ncol = 3)

  • 列表(List)
    • 列表是一种可以包含不同类型元素的数据结构,可以包含 向量、矩阵、数据框,甚至其他列表 。与向量不同,列表中的元素可以是不同类型。

    • 示例:

      lst <- list(a = 1, b = “text”, c = TRUE)

  • 数据框(DataFrame)
    • 数据框是由一个或多个向量或因子组成的二维结构,类似于数据库中的表格。数据框中的每列可以是不同的数据类型,但每列必须是 等长的 。

    • 示例:

      df <- data.frame(Name = c(“Alice”, “Bob”), Age = c(25, 30))

索引:

count = c(“a”,“b”,“c”)

count

[1] “a” “b” “c”

count[1]

[1] “a”

count[2]

[1] “b”

转置:

matrix.x <- matrix(1:12,nrow=3,byrow=T)

t(matrix.x)

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

[1,]    1    5    9

[2,]    2    6   10

[3,]    3    7   11

[4,]    4    8   12

取行和列:

df <- data.frame(Name = c(“Alice”, “Bob”), Age = c(25, 30))

df

Name Age

1 Alice  25

2   Bob  30

df[2,]

Name Age

2  Bob  30

df[,2]

[1] 25 30

df[2,1]

[1] “Bob”

df$Name

[1] “Alice” “Bob”

对象类型判断:

class(count)

[1] “character”

class(df)

[1] “data.frame”

class(x)

[1] “integer”

对象类型转换:

gender = c(‘male’,‘female’,‘male’)

gender

[1] “male”   “female” “male”

class(gender)

[1] “character”

as.factor(gender)

[1] male   female male

Levels: female male

外部数据读取:

1. 读取 .txt 和 .csv 文件

read.table() 函数:

  • read.table() 是 R 中最常用的函数之一,用于读取由空格或制表符(Tab)分隔的文本文件。它的默认分隔符是 空格制表符 (Tab),但可以通过参数 sep 来指定其他分隔符。

    示例:

    data <- read.table(“data.txt”, header = TRUE, sep = “\t”)

    • header = TRUE:表示文件的第一行是列名。

    • sep = “\t”:表示数据之间是由制表符(Tab)分隔的。

      读取的结果会存储为数据框(data frame),data 变量就包含了从文件中读取的数据。

read.csv() 函数:

  • read.csv() 是 read.table() 的一种专门用于读取 CSV(逗号分隔值)文件的简化版本。它的默认分隔符是 逗号 (,)。

    示例:

    data <- read.csv(“data.csv”, header = TRUE)

    • header = TRUE:表示文件的第一行是列名。

      读取的结果会同样存储为数据框。

2. 其他文件格式的读取

R 也可以通过一些专门的程序包来读取其他格式的数据文件。例如:

  • Excel 文件 :可以使用 readxl 或 openxlsx 包来读取 .xlsx 或 .xls 文件。

    library(readxl)

    data <- read_excel(“data.xlsx”)

  • SAS 文件 :可以使用 haven 包来读取 .sas7bdat 文件。

    library(haven)

    data <- read_sas(“data.sas7bdat”)

  • DBF 文件 :可以使用 foreign 包来读取 DBF 格式文件。

    library(foreign)

    data <- read.dbf(“data.dbf”)

  • Matlab 文件 :使用 R.matlab 包来读取 .mat 文件。

    library(R.matlab)

    data <- readMat(“data.mat”)

  • SPSS 文件 :使用 haven 包读取 .sav 文件。

    library(haven)

    data <- read_spss(“data.sav”)

  • Minitab 文件 :可以使用 foreign 包来读取 .mtw 文件。

    library(foreign)

    data <- read.minitab(“data.mtw”)

https://i-blog.csdnimg.cn/direct/29249dfeef234f37a303e7fc4c3060d5.png

data <- read.table(“C:/Users/admin/Desktop/BMI.txt”, header = TRUE, sep = “\t”, stringsAsFactors = FALSE)

data

height weight

1   1.75     60

2   1.80     72

3   1.65     67

4   1.90     50

5   1.74     95

6   1.91     72

class(data)

[1] “data.frame”

查看当前的工作路径和修改工作路径:

getwd()

[1] “C:/Users/admin/Documents”

setwd(“C:/Users/admin/Desktop”)

两个点代表返回上级目录,一个点代表当前目录:

setwd("../")

getwd()

[1] “C:/Users/admin”

实例

1

https://i-blog.csdnimg.cn/direct/a3ce5c5987dc4e99894d160a0a323d68.pnghttps://i-blog.csdnimg.cn/direct/18e8ebb73fca41529d705453871ad929.png

实例2:

研究对象:肺癌,乳腺癌,膀胱癌,肝癌

研究方法:转录组测序,找到共同的差异基因

已有数据:四种肿瘤各自的差异基因

具体步骤:

1.读入数据-read.table()

2.取得交集-intersect()

3.频数统计,找到更多热点基因-table()

4.韦恩图可视化-venn.diagram()

https://i-blog.csdnimg.cn/direct/2e7073f666d644988e4cb5e112178414.pnghttps://i-blog.csdnimg.cn/direct/bc1d230d298e441ca2c088a4b308dcac.png

Label.col

cat.col

我没写可以自己加

https://i-blog.csdnimg.cn/direct/93880ba37c2b4d52a8b5f0d59bfd4dce.png