R中的常用函数

函数汇总

  • c()--创建向量
  • names()--给元素命名
  • []--访问向量元素
  • --帮助
  • mean()--平均值
  • median()--中位数
  • sd()--标准差
  • sum()--求和
  • prod()--求积
  • length()--返回对象的数量
  • dim()--返回矩阵的维度,即行数和列数
  • nrow()--返回数据框或矩阵的行数
  • ncol()--返回数据框或矩阵的列数
  • which()--查找索引
  • sort()--对向量进行排序,返回排序后的向量
  • order()--返回能够对向量进行排序的索引
  • **table()--**频率表
  • rep()--重复向量中的元素
  • order()--生成数字序列
  • %in%--检查元素是否在向量中
  • setdiff()--查找两个集合的差异
  • union()--合并两个集合
  • intersect()--查找公共元素
  • sample()--抽取样本值
  • hist()--创建数据的直方图
  • plot()--创建散点图
  • head(Salaries)--显示数据集的前几行
  • data()--加载数据集
  • install.packages()--安装和加载包
  • ggplot() --ggplot2包的核心函数,用于初始化绘图
  • aes() --ggplot2的美学映射函数,用于定义变量与图形属性的映射。
  • geom_histogram() --ggplot2的几何对象函数,用于绘制直方图
  • geom_boxplot() --ggplot2的几何对象函数,用于绘制箱线图
  • geom_density() --ggplot2的几何对象函数,用于绘制密度图
  • labs() --ggplot2的标签函数,用于添加标题、轴标签等
  • theme_classic() theme_bw() theme_minimal() --ggplot2的主题函数,用于设置图形的整体外观
  • scale_color_manual() scale_fill_manual() --ggplot2的自定义颜色函数,用于手动设置颜色
  • facet_wrap() facet_grid() --ggplot2的分面函数,用于基于分类变量创建多个子图。
  • var() --计算样本方差
  • summary() --提供数据的摘要统计信息
  • dbinom() --计算二项分布的概率质量函数
  • dnorm() --计算正态分布的概率密度函数
  • stat_ecdf() --绘制经验累积分布函数(ECDF)
  • stem() --茎叶图
  • aggregate() --分组聚合计算
  • geom_bar() --绘制条形图
  • pivot_longer() --将数据从宽格式转换为长格式
  • facet_wrap() --基于分类变量创建多个子图
  • cor() --计算两个变量之间的相关系数
  • grid.arrange() --用于排列多个图形

基础R语法

加、减、乘、除与赋值

R 复制代码
a <- 5 #将变量 a 赋值为 5
b <- 3 #将变量 b 赋值为 3

sum_result <- a + b #计算 a 和 b 的和,并将结果赋值给变量 sum_result
diff_result <- a - b # 计算a 和 b 的差,并将结果赋值给变量 diff_result
prod_result <- a * b # 计算a 和 b 的积,并将结果赋值给变量 prod_result
quot_result <- a / b # 计算a 和 b 的商,并将结果赋值给变量 quot_result

如何查看变量的值?---在命令行中输入变量的名称,回车后将获得变量当前存储的值。

向量与赋值(Vectors and Assignments)

创建向量

在 R 中,可以使用 c() 函数创建向量。c() 函数将多个元素组合成一个向量。例如:

R 复制代码
v <- c(1, 2, 3, 4, 5)

这行代码创建了一个包含五个元素的数值型向量 v ,元素依次为 1, 2, 3, 4, 5。

给元素命名

可以使用 names() 函数给向量的元素分配名称。例如:

R 复制代码
names(v) <- c("a", "b", "c", "d", "e")

这行代码将向量 v 的元素分别命名为 "a", "b", "c", "d", "e"。

访问向量元素

可以通过索引名称访问向量的单个元素

  • 通过索引访问:使用方括号 [] 和元素的索引来访问。例如,v[1] 访问向量 v 的第一个元素。
  • 通过名称访问:使用方括号 [] 和元素的名称来访问。例如,v["c"] 访问名称为 "c" 的元素。
R 复制代码
# 通过索引访问第一个元素
first_element <- v[1]
print(first_element)

# 通过名称访问第三个元素
third_element <- v["c"]
print(third_element)

数据类型

R 支持多种数据类型。最常用的一些数据类型包括:

  • 数值型:数字,例如 1、2.5 或 100。
  • 字符型:用引号括起来的文本,如 “Hello” 或 “YES”。
  • 逻辑型:TRUE 或 FALSE。
  • 数据框:数据表,通常用于存储数据集。

函数和帮助

R 拥有丰富的内置函数。要应用一个函数,你只需输入函数名,后跟括号中的参数。你可以通过使用“?”来获取任何函数的帮助:

R 复制代码
# 计算25的平方根
result <- sqrt(25)
print(result)

# 获取sqrt函数的帮助信息
?sqrt

R中的常用函数

平均值、中位数、标准差

  • 平均值(Mean)

    • 函数:mean()
    • 用途:计算一组数值的平均值。
    • 示例:mean(x) 计算向量 x 的平均值。
  • 中位数(Median):

    • 函数:median()
    • 用途:计算一组数值的中位数。
    • 示例:median(x) 计算向量 x 的中位数。
  • 标准差(Standard Deviation)

    • 函数:sd()
    • 用途:计算一组数值的标准差,衡量数据的离散程度。
    • 示例:sd(x) 计算向量 x 的标准差。
  • R 复制代码
    # 创建一个向量 x
    x <- c(1, 2, 3, 4, 5)
    
    # 计算 x 的平均值
    mean(x)  # 输出:3
    
    # 计算 x 的中位数
    median(x)  # 输出:3
    
    # 计算 x 的标准差
    sd(x)  # 输出:1.5811388300841898

求和与求积

  • 求和(Sum)

    • 函数:sum()
    • 用途:计算一组数值的总和。
    • 示例:sum(x) 计算向量 x 的所有元素的和。
  • 求积(Product)

    • 函数:prod()
    • 用途:计算一组数值的总积。
    • 示例:prod(x) 计算向量 x 的所有元素的积。
  • R 复制代码
    # 创建一个向量 x
    x <- c(1, 2, 3, 4)
    
    # 计算 x 的元素总和
    sum(x)  # 输出:10
    
    # 计算 x 的元素总积
    prod(x)  # 输出:24

对象的大小和维度

  • length()

    • 用途:返回对象(向量、矩阵或数据框)中元素的数量。
    • 示例:length(x) 返回向量 x 中元素的数量。
  • dim()

    • 用途:返回矩阵的维度,即行数和列数。
    • 示例:dim(y) 返回矩阵 y 的维度。
  • nrow()

    • 用途:返回数据框或矩阵的行数。
    • 示例:nrow(df) 返回数据框 df 的行数。
  • ncol()

    • 用途:返回数据框或矩阵的列数。
    • 示例:ncol(df) 返回数据框 df 的列数。
  • R 复制代码
    # 创建一个向量 x
    x <- c(1, 2, 3, 4, 5)
    length(x)  # 输出:5
    
    # 创建一个 3x3 矩阵 y
    y <- matrix(1:9, nrow = 3, ncol = 3)  #这行 R 代码用于创建一个矩阵 y,矩阵中的元素是从 1 到 9 的连续整数。
    dim(y)  # 输出:3 3
    
    # 创建一个数据框 df
    df <- data.frame(A = 1:5, B = 6:10)
    nrow(df)  # 输出:5
    ncol(df)  # 输出:2

使用 which() 查找索引

  • which()

    • 用途:返回逻辑向量中为 TRUE 的元素的索引。
    • 示例:which(x %% 2 == 0) 返回向量 x 中所有偶数的索引。
  • R 复制代码
    # 创建一个向量 x
    x <- c(1, 3, 5, 7, 9)
    
    # 使用 which() 查找 x 中偶数的索引
    which(x %% 2 == 0)
  • x <- c(1, 3, 5, 7, 9):创建一个包含五个元素的向量 x

  • which(x %% 2 == 0):使用 %% 运算符检查向量 x 中每个元素是否能被 2 整除(即是否为偶数),然后 which() 函数返回这些偶数的索引。

  • 对于上述代码,输出将是:

    integer(0)

    这意味着在向量 x 中没有偶数。这是因为我们创建的向量 x 只包含奇数。

排序

  • sort()

    • 用途:对向量进行排序,返回排序后的向量
    • 示例:sort(x) 对向量 x 进行升序排序
  • order()

    • 用途:返回能够对向量进行排序的索引
    • 示例:order(x) 返回向量 x 中元素按升序排列的索引
  • R 复制代码
    # 创建一个向量 x
    x <- c(3, 1, 4, 5, 2)
    
    # 使用 sort() 对 x 进行升序排序
    sorted_x <- sort(x)
    print(sorted_x)
    
    # 使用 order() 获取能够对 x 进行排序的索引
    sorted_indices <- order(x)
    print(sorted_indices)
  • 在这段代码中:

    • x <- c(3, 1, 4, 5, 2):创建一个包含五个元素的向量 x

    • sort(x):对向量 x 进行升序排序,结果为 1 2 3 4 5

    • order(x):返回向量 x 中元素按升序排列的索引,结果为 2 5 1 3 4。这意味着原始向量 x 中的第二个元素(1)、第五个元素(2)、第一个元素(3)、第三个元素(4)和第四个元素(5)按升序排列。

      输出结果:

    • R 复制代码
      [1] 1 2 3 4 5
      [1] 2 5 1 3 4

频率表

  • table()

    • 用途:创建一个频率表,统计向量中每个唯一值的出现次数。

    • 示例:table(x) 生成一个频率表,显示向量 x 中每个元素的出现次数。

    • R 复制代码
      # 创建一个向量 x
      x <- c("apple", "banana", "apple", "orange", "banana", "banana")
      
      # 使用 table() 函数统计每种水果的出现次数
      fruit_counts <- table(x)
      print(fruit_counts)
    • 在这段代码中:

      • x <- c("apple", "banana", "apple", "orange", "banana", "banana"):创建一个包含六个元素的向量 x,其中包含三种不同的水果名称。
      • table(x):生成一个频率表,统计向量 x 中每种水果名称的出现次数。
    • R 复制代码
      #输出结果
      x
         apple banana orange 
             2       3       1 

重复和序列

  • rep()

    • 用途:重复向量中的元素。

    • 参数:

      • 第一个参数是要重复的向量或值。
      • times 参数指定每个元素重复的次数。
    • 示例:rep(1:3, times = 2) 重复向量 1:3 中的每个元素两次。

  • seq()

    • 用途:生成数字序列。

    • 参数:

      • 第一个参数是序列的起始值。
      • 第二个参数是序列的结束值。
      • by 参数指定序列的步长。
    • 示例:seq(1, 10, by = 2) 生成从 1 到 10 的序列,步长为 2。

      R 复制代码
      # 重复向量 1:3 两次
      repeated_vector <- rep(1:3, times = 2)
      print(repeated_vector)
      
      # 生成从 1 到 10 的序列,步长为 2
      sequence <- seq(1, 10, by = 2)
      print(sequence)

      在这段代码中:

      • rep(1:3, times = 2):重复向量 1:3 中的每个元素两次,结果为 1 2 3 1 2 3

      • seq(1, 10, by = 2):生成从 1 到 10 的序列,步长为 2,结果为 1 3 5 7 9

      • 输出结果

        对于上述代码,输出将是:

        R 复制代码
        [1] 1 2 3 1 2 3
        [1] 1 3 5 7 9

检查元素是否在向量中

  • %in%

    • 用途:检查一个元素是否存在于向量中。

    • 返回值:如果元素存在于向量中,则返回 TRUE;否则返回 FALSE。

    • 示例:****3 %in% x 检查数字 3 是否存在于向量 x 中。

      • 示例代码:

        R 复制代码
        # 创建一个向量 x
        x <- c(1, 2, 3, 4, 5)
        
        # 使用 %in% 检查 3 是否在 x 中
        result <- 3 %in% x
        print(result)
      • 在这段代码中:

        • x <- c(1, 2, 3, 4, 5):创建一个包含五个元素的向量 x
        • 3 %in% x:使用 %in% 运算符检查数字 3 是否存在于向量 x 中。由于 3 是 x 的一个元素,所以返回 TRUE。
      • 结果:

        对于上述代码,输出将是:

        [1] TRUE这表明数字 3 确实存在于向量 x 中。

查找两个集合的差异

  • setdiff()

    • 用途:返回第一个集合中不在第二个集合中的元素。

    • 参数:

      • 第一个参数是第一个集合。
      • 第二个参数是第二个集合。
    • 示例:setdiff(A, B) 返回集合 A 中存在而集合 B 中不存在的元素。

      • 代码:

        R 复制代码
        # 创建两个向量 A 和 B
        A <- c(1, 2, 3, 4)
        B <- c(3, 4, 5, 6)
        
        # 使用 setdiff() 查找 A 中但不在 B 中的元素
        difference <- setdiff(A, B)
        print(difference)
      • 在这段代码中:

        • A <- c(1, 2, 3, 4):创建一个包含四个元素的向量 A。
        • B <- c(3, 4, 5, 6):创建一个包含四个元素的向量 B。
        • setdiff(A, B):使用 setdiff() 函数找出向量 A 中存在而向量 B 中不存在的元素,结果为 1 2
      • 输出结果

        对于上述代码,输出将是:

        [1] 1 2这表明数字 1 和 2 存在于向量 A 中,但不存在于向量 B 中。

合并两个集合

  • union()

    • 用途:合并两个集合,并返回它们的并集。

    • 参数:

      • 第一个参数是第一个集合。
      • 第二个参数是第二个集合。
    • 示例:union(A, B) 返回集合 A 和集合 B 的并集。

      • 代码:

        R 复制代码
        # 创建两个向量 A 和 B
        A <- c(1, 2, 3)
        B <- c(3, 4, 5)
        
        # 使用 union() 合并 A 和 B
        union_result <- union(A, B)
        print(union_result)
        • 在这段代码中:

          • A <- c(1, 2, 3):创建一个包含三个元素的向量 A。
          • B <- c(3, 4, 5):创建一个包含三个元素的向量 B。
          • union(A, B):使用 union() 函数合并向量 A 和向量 B,返回一个包含所有唯一元素的向量,结果为 1 2 3 4 5
        • 输出结果

          对于上述代码,输出将是:

          [1] 1 2 3 4 5这表明合并后的向量包含数字 1, 2, 3, 4, 5,即集合 A 和集合 B 的并集。

查找公共元素

  • intersect()

    • 用途:返回两个集合之间的交集,即两个集合中都存在的元素。

    • 参数:

      • 第一个参数是第一个集合。
      • 第二个参数是第二个集合。
    • 示例:intersect(A, B) 返回集合 A 和集合 B 的交集。

      • 代码:

        R 复制代码
        # 创建两个向量 A 和 B
        A <- c(1, 2, 3)
        B <- c(2, 3, 4)
        
        # 使用 intersect() 查找 A 和 B 的交集
        common_elements <- intersect(A, B)
        print(common_elements)
        • 在这段代码中:

          • A <- c(1, 2, 3):创建一个包含三个元素的向量 A。
          • B <- c(2, 3, 4):创建一个包含三个元素的向量 B。
          • intersect(A, B):使用 intersect() 函数找出向量 A 和向量 B 的交集,结果为 2 3
        • 输出结果

          对于上述代码,输出将是:

          [1] 2 3这表明数字 2 和 3 是向量 A 和向量 B 的公共元素。

抽取样本值

  • sample()

    • 用途:从一个给定的向量或数字集合中抽取随机样本。

    • 参数:

      • 第一个参数是要抽取样本的向量或数字集合。
      • 第二个参数是你要抽取的样本数量。
      • replace 参数指定是否进行有放回抽样(****TRUE 表示有放回,****FALSE 表示无放回)
    • 示例:sample(1:10, 5) 从数字 1 到 10 中无放回地抽取 5 个数字。

      • 代码

        • R 复制代码
          # 从 1 到 10 中抽取 5 个数字
          sample_values <- sample(1:10, 5)
          print(sample_values)
          
          # 从 1 到 10 中进行有放回抽样,抽取 5 个数字
          sample_with_replacement <- sample(1:10, 5, replace = TRUE)
          print(sample_with_replacement)
      • 在这段代码中:

        • sample(1:10, 5):从数字 1 到 10 中无放回地抽取 5 个数字。这意味着每个数字只能被抽取一次。
        • sample(1:10, 5, replace = TRUE):从数字 1 到 10 中进行有放回抽样,抽取 5 个数字。这意味着一个数字可以被抽取多次。
      • 输出结果

        对于上述代码,输出将是随机的,例如:

        R 复制代码
        [1] 2 8 5 1 9
        [1] 6 4 6 2 9

        这表明第一次抽取的数字是 2, 8, 5, 1, 9,第二次抽取的数字是 6, 4, 6, 2, 9。每次运行代码时,输出的数字可能会不同,因为 sample() 函数会生成随机样本。

绘制直方图

  • hist()

    • 用途:创建数据的直方图,用于可视化数据的分布。

    • 参数:

      • 第一个参数是要绘制直方图的数据。
      • breaks 参数指定直方图中条形的个数。
      • col 参数指定条形的颜色。
      • main 参数指定直方图的标题。
      • xlab 参数指定 x 轴的标签。
    • 示例:hist(data, breaks=6, col="lightblue", main="直方图示例", xlab="值") 创建一个直方图,显示数据的分布情况,条形数量为 6,颜色为浅蓝色,标题为“直方图示例”,x 轴标签为“值”。

    • 代码:

      R 复制代码
      # 创建一个数据向量
      data <- c(1, 2, 2, 3, 4, 4, 4, 5, 6, 6)
      
      # 使用 hist() 绘制直方图
      hist(data, breaks=6, col="lightblue", main="直方图示例", xlab="值")
      • 在这段代码中:

        • data <- c(1, 2, 2, 3, 4, 4, 4, 5, 6, 6):创建一个包含九个元素的向量 data
        • hist(data, breaks=6, col="lightblue", main="直方图示例", xlab="值"):使用 hist() 函数绘制向量 data 的直方图,条形数量为 6,颜色为浅蓝色,标题为“直方图示例”,x 轴标签为“值”。
      • 输出结果

        对于上述代码,R 将生成一个直方图,显示数据的分布情况。直方图将有 6 个条形,每个条形代表一个值的范围,颜色为浅蓝色。标题为“直方图示例”,x 轴标签为“值”。

创建散点图

  • plot()

    • 用途:创建散点图。

    • 参数:

      • 第一个参数是 x 轴的数据。
      • 第二个参数是 y 轴的数据。
      • main 参数指定图形的标题。
      • xlab 参数指定 x 轴的标签。
      • ylab 参数指定 y 轴的标签。
    • 示例:plot(x, y, main="散点图", xlab="X轴", ylab="Y轴") 创建一个散点图,显示 x 和 y 之间的关系,并带有轴标签和标题。

    • 代码:

      R 复制代码
      # 创建两个向量 x 和 y
      x <- c(1, 2, 3, 4, 5)
      y <- c(2, 4, 6, 8, 10)
      
      # 使用 plot() 创建散点图
      plot(x, y, main="散点图", xlab="X轴", ylab="Y轴")
      • 在这段代码中:

        • x <- c(1, 2, 3, 4, 5):创建一个包含四个元素的向量 x

        • y <- c(2, 4, 6, 8, 10):创建一个包含四个元素的向量 y

        • plot(x, y, main="散点图", xlab="X轴", ylab="Y轴"):使用 plot() 函数创建向量 xy 的散点图,标题为“散点图”,x 轴标签为“X轴”,y 轴标签为“Y轴”。

        • 输出结果

          对于上述代码,R 将生成一个散点图,显示 x 和 y 之间的关系。图中每个点代表 xy 中对应元素的值。

显示数据集的前几行

  • head(Salaries):显示 Salaries 数据集的前六行。head() 函数是 R 中的一个常用函数,用于查看数据集的前几行,帮助用户快速了解数据的结构和内容。

加载数据集

  • data("Salaries"):加载 carData 包中的 Salaries 数据集。

安装和加载包

  • install.packages("carData"):这行代码用于安装 carData 包,如果已经安装则可以省略。

数据可视化相关函数

  1. ggplot()

    • 描述ggplot2包的核心函数,用于初始化绘图。

    • 参数

      • data:数据框,包含要绘制的数据。
      • aes():美学映射函数,定义变量与图形属性的映射。
    • 示例

      R 复制代码
      library(ggplot2)
      ggplot(data = mtcars, aes(x = mpg))
  2. aes()

    • 描述ggplot2的美学映射函数,用于定义变量与图形属性的映射。

    • 参数

      • x:x轴变量。
      • y:y轴变量。
      • colorfillsizeshapealpha:其他美学属性。
    • 示例

      R 复制代码
      ggplot(data = mtcars, aes(x = mpg, y = wt, color = as.factor(cyl)))
  3. geom_histogram()

    • 描述ggplot2的几何对象函数,用于绘制直方图。

    • 参数

      • bins:直方图的分组数量。
      • fill:条形的填充颜色。
      • color:条形的边框颜色。
    • 示例

      R 复制代码
      ggplot(data = mtcars, aes(x = mpg)) +
        geom_histogram(bins = 10, fill = "lightblue", color = "black")
  4. geom_boxplot()

    • 描述ggplot2的几何对象函数,用于绘制箱线图。

    • 参数

      • fill:箱体的填充颜色。
    • 示例

      R 复制代码
      ggplot(data = mtcars, aes(x = as.factor(cyl), y = mpg, fill = as.factor(cyl))) +
        geom_boxplot()
  5. geom_density()

    • 描述ggplot2的几何对象函数,用于绘制密度图。

    • 参数

      • fill:填充颜色。
      • color:线条颜色。
      • alpha:透明度。
    • 示例

      R 复制代码
      ggplot(data = mtcars, aes(x = mpg)) +
        geom_density(fill = "lightblue", color = "black", alpha = 0.5)
  6. labs()

    • 描述ggplot2的标签函数,用于添加标题、轴标签等。

    • 参数

      • title:图表标题。
      • x:x轴标签。
      • y:y轴标签。
    • 示例

      R 复制代码
      ggplot(data = mtcars, aes(x = mpg)) +
        geom_histogram(bins = 10, fill = "lightblue", color = "black") +
        labs(title = "Histogram of Miles Per Gallon", x = "Miles Per Gallon", y = "Frequency")
  7. theme_classic() 、****theme_bw() 、****theme_minimal()

    • 描述ggplot2的主题函数,用于设置图形的整体外观。

    • 示例

      R 复制代码
      ggplot(data = mtcars, aes(x = mpg)) +
        geom_histogram(bins = 10, fill = "lightblue", color = "black") +
        theme_classic()
  8. scale_color_manual() 、****scale_fill_manual()

    • 描述ggplot2的自定义颜色函数,用于手动设置颜色。

    • 参数

      • values:颜色值的向量。
    • 示例

      R 复制代码
      ggplot(data = mtcars, aes(x = as.factor(cyl), y = mpg, fill = as.factor(cyl))) +
        geom_boxplot() +
        scale_fill_manual(values = c("lightblue", "lightgreen", "lightcoral"))
  9. facet_wrap() 、****facet_grid()

    • 描述ggplot2的分面函数,用于基于分类变量创建多个子图。

    • 参数

      • ~ variable:基于单个分类变量(facet_wrap)。
      • row ~ col:基于两个分类变量定义行列(facet_grid)。
    • 示例

      R 复制代码
      ggplot(data = mtcars, aes(x = mpg)) +
        geom_histogram(bins = 10, fill = "lightblue", color = "black") +
        facet_wrap(~ cyl)
  10. runif()

    • 描述:生成均匀分布的随机数。

    • 参数

      • n:生成的随机数数量。
      • min:最小值(默认为0)。
      • max:最大值(默认为1)。
    • 示例

      R 复制代码
      set.seed(42)
      samples <- runif(10000)
      expected_value_simulated <- mean(samples)
      print(expected_value_simulated)

这些函数和示例覆盖了文档中提到的大部分R语言知识,可用于数据可视化、抽样和概率统计分析。

计算样本方差

var()

  • 描述:计算样本方差。

  • 参数

    • x:数值型向量。
  • 示例

    R 复制代码
    data <- c(5, 7, 10, 15, 20)
    variance_value <- var(data)
    print(variance_value)

生成均匀分布的随机数

runif()

  • 描述:生成均匀分布的随机数。

  • 参数

    • n:生成的随机数数量。
    • min:最小值(默认为0)。
    • max:最大值(默认为1)。
  • R 复制代码
    set.seed(42)
    samples <- runif(10000)
    expected_value_simulated <- mean(samples)
    print(expected_value_simulated)

提供数据的摘要统计信息

summary()

  • 描述:提供数据的摘要统计信息,包括最小值、最大值、均值、中位数等。

  • 示例

    R 复制代码
    data <- data.frame(
      ID = 1:10,
      Name = c("Alice", "Bob", "Charlie", "David", "Eve", "Frank", "Grace", "Hannah", "Ian", "Jack"),
      Age = c(25, 34, 29, NA, 40, 22, 28, 33, 150, 27),
      Weight_kg = c(65, 75, 68, 80, 55, NA, 70, 85, 60, 500),
      Income = c(40000, 55000, 47000, 60000, 25000, 52000, 58000, -1000, 49000, 1000000)
    )
    summary(data)

计算二项分布的概率质量函数

dbinom()

  • 描述:计算二项分布的概率质量函数(PMF)。

  • 参数

    • x:随机变量的值。
    • size:试验次数。
    • prob:成功概率。
  • 示例

    R 复制代码
    n <- 10  # 试验次数
    p <- 0.5  # 成功概率
    x <- 0:n  # 可能的值
    prob <- dbinom(x, size = n, prob = p)
    barplot(prob, names.arg = x, col = "blue",
            main = "Binomial Distribution (n=10, p=0.5)",
            xlab = "Number of Successes", ylab = "Probability")

计算正态分布的概率密度函数

dnorm()

  • 描述:计算正态分布的概率密度函数(PDF)。

  • 参数

    • x:数值型向量。
    • mean:均值(默认为0)。
    • sd:标准差(默认为1)。
  • 示例

    R 复制代码
    x <- seq(-5, 5, by = 0.1)
    y <- dnorm(x, mean = 0, sd = 1)
    plot(x, y, type = "l", lwd = 2,
         main = "Standard Normal Distribution",
         xlab = "x", ylab = "Density")

绘制经验累积分布函数(ECDF)

stat_ecdf()

  • 描述:绘制经验累积分布函数(ECDF)。

  • 参数

    • geom:几何对象类型(默认为"step")。
    • color:线条颜色。
  • 示例

    R 复制代码
    library(ggplot2)
    ggplot(data.frame(x = mtcars$mpg), aes(x)) +
      stat_ecdf(geom = "step", color = "blue") +
      labs(title = "Cumulative Distribution Function of MPG",
           x = "Miles Per Gallon", y = "Cumulative Probability")

茎叶图

stem()

  • 描述:绘制茎叶图,用于快速评估数据的分布、集中趋势和离散程度。

  • 参数

    • x:数值型向量。
  • 示例

    R 复制代码
    data <- c(23, 25, 27, 32, 35, 40, 42, 45, 47, 50, 53, 55)
    cat("Stem-and-Leaf Plot:\n")
    stem(data)

分组聚合计算

aggregate()

  • 描述:对数据进行分组聚合计算。

  • 参数

    • formula:公式形式,如Rate ~ Group + Treatment,表示按GroupTreatment分组计算Rate
    • data:数据框。
    • FUN:聚合函数,如mean
  • 示例

    R 复制代码
    simpson_data <- data.frame(
      Group = rep(c("A", "B"), each = 5),
      Treatment = rep(c("Treated", "Untreated"), times = 5),
      Success = c(20, 30, 50, 80, 90, 10, 40, 60, 70, 85),
      Trials = c(100, 100, 100, 100, 100, 100, 100, 100, 100, 100)
    )
    simpson_data$Rate <- simpson_data$Success / simpson_data$Trials
    aggregate(Rate ~ Group + Treatment, data = simpson_data, mean)

绘制条形图

geom_bar()

  • 描述ggplot2的几何对象函数,用于绘制条形图。

  • 参数

    • stat:统计方法(如identity)。
    • position:条形的位置调整(如dodge)。
  • 示例

    R 复制代码
    geom_bar(stat = "identity", position = "dodge")

将数据从宽格式转换为长格式

pivot_longer()

  • 描述tidyr包的函数,用于将数据从宽格式转换为长格式。

  • 参数

    • cols:要转换的列。
    • names_to:新列的名称。
    • names_pattern:用于提取列名的正则表达式。
  • 示例

    R 复制代码
    library(tidyr)
    anscombe_tidy <- anscombe %>%
      pivot_longer(cols = everything(), names_to = c(".value", "Set"),
                   names_pattern = "(.) (.)") %>%
      mutate(Set = as.factor(Set))

基于分类变量创建多个子图

facet_wrap()

  • 描述ggplot2的分面函数,用于基于分类变量创建多个子图。

  • 参数

    • ~ variable:基于分类变量进行分面。
  • 示例

    R 复制代码
    ggplot(anscombe_tidy, aes(x = x, y = y)) +
      geom_point() +
      facet_wrap(~ Set) +
      theme_minimal() +
      labs(title = "Anscombe’s Quartet Visualization", x = "X Values", y = "Y Values")

计算两个变量之间的相关系数

cor()

  • 描述:计算两个变量之间的相关系数。

  • 参数

    • x:第一个变量。
    • y:第二个变量。
  • 示例

    R 复制代码
    library(ggplot2)
    library(gridExtra)
    data(mtcars)
    cor_hp_mpg <- cor(mtcars$hp, mtcars$mpg)
    cor_wt_mpg <- cor(mtcars$wt, mtcars$mpg)

用于排列多个图形

grid.arrange()

  • 描述gridExtra包的函数,用于排列多个图形。

  • 参数

    • p1, p2, ...:要排列的图形。
    • nrow:图形排列的行数。
  • 示例

    R 复制代码
    grid.arrange(p1, p2, nrow = 1)
游客

全部评论 (0)

暂无评论,快来抢沙发吧~