21天学会R语言——Day1

beat365亚洲投注 📅 2025-09-22 09:33:49 👤 admin 👁️ 3791 ❤️ 176
21天学会R语言——Day1

R语言

R 语言是一种用于统计计算和图形展示的编程语言和自由软件环境。它是由新西兰奥克兰大学的罗斯·伊哈卡和罗伯特·杰特曼于1993年创建的,目前由R开发核心团队进行维护和开发。

R 主要用于统计学、数据分析、机器学习和数据可视化等领域。它提供了大量的统计和数学库,以及用于数据处理和图形绘制的功能。R 是一种开源软件,这意味着任何人都可以免费使用、修改和分发它。

一些 R 语言的特点包括:

1. 向量化操作:R 语言支持向量化操作,允许对整个向量或矩阵执行操作,而不需要显式地编写循环。

2. 丰富的统计和图形库: R 提供了大量用于统计分析和数据可视化的库,例如 ggplot2、dplyr、tidyr 等。

3. 数据框和数据处理:R 中的数据框是一种强大的数据结构,方便进行数据处理和分析。

4. 开源和可扩展:R 是一种开源软件,可以通过安装各种包(packages)来扩展其功能,社区中有大量的贡献者为 R 提供了各种工具和函数。

5. 交互式控制台:R 提供了一个交互式的控制台,允许用户逐行执行命令,方便快速的数据探索。

6. 数据可视化: R 在数据可视化方面表现出色,支持创建各种统计图形和图表。

R 语言已经成为数据科学和统计学领域中最流行的编程语言之一,许多数据科学家和研究人员在其工作中使用 R 进行数据分析和建模。

R的下载

1、R 是一种开源语言,可以在官方网站 https://www.r-project.org/ 上免费下载和安装。

2、RStudio: RStudio 是一个集成开发环境(IDE),专门用于 R 语言的开发和数据分析。它提供了一个用户友好的界面,包括脚本编辑器、控制台、工作区、图形窗口等功能。RStudio 界面的设计旨在方便用户进行交互式的数据分析和编程。RStudio 是一个独立的软件,可以从 https://www.rstudio.com/ 上免费下载和安装。

当你想要使用 R 语言进行数据分析时,你首先需要安装 R 语言,然后可以选择是否使用 RStudio 作为你的开发环境。许多数据科学家和分析师喜欢使用 RStudio,因为它提供了更丰富的交互式功能和更好的用户体验。网上有很多安装R与RStudio的详细教程,这里就不详细说了。

程序包

程序包是什么?

R程序包是多个函数的集合,具有详细的说明和示例。 Window下的R程序包是已经编译好的zip包。 每个程序包包含R函数、数据、帮助文件、描述文件等。

为什么要安装程序包?

特定的分析功能,需要用相应的程序包实现。 例如:系统发育分析,往往要用到ape程序包,群落生态学vegan包等等。

R 软件本身自带了一些常用的基础包,这些包包含了许多核心功能,使得用户可以进行数据分析、统计计算、图形绘制等任务。以下是 R 软件自带的一些常见基础包:

base: 这是 R 中最基础的包,包含了 R 语言的核心功能,例如数据结构、数学运算、数据读写等。

datasets: 提供了一些示例数据集,方便用户学习和实践数据分析。

graphics: 包含了绘图和可视化相关的函数,用于创建散点图、线图、直方图等图形。

stats: 包含了统计分析相关的函数,如均值、标准差、回归分析等。

utils: 提供了一些实用工具函数,用于文件操作、帮助文档查看等。

methods: 包含了与面向对象编程相关的函数,支持 S3 和 S4 对象系统。

grDevices: 提供了图形设备的函数,用于设定图形输出设备。

这只是 R 软件中自带的一小部分基础包,实际上还有其他一些基础包和扩展包。需要额外的包时需要我们自己下载安装。

在 R 语言中,你可以使用 install.packages() 函数来安装和下载包。以下是一些基本步骤:

打开 R 控制台: 打开 R 控制台或 RStudio。

使用 install.packages() 安装包: 使用以下语法安装包。例如,如果你想安装名为 "ggplot2" 的包,可以在控制台执行:install.packages("ggplot2")

选择镜像源: 在运行 install.packages() 时,系统可能会提示你选择一个镜像源。选择一个离你地理位置较近的镜像源,或者使用默认源。我一般选择China(Beijing3)。

加载已安装的包: 安装完成后,你需要使用 library() 函数加载已安装的包,才能使用 这个 包提供的功能。例如:这样,你就可以在当前 R 会话中使用 "ggplot2" 包提供的功能了。

使用包中的函数: 一旦包加载成功,你就可以使用包中的函数了。例如,"ggplot2" 包是用于绘制图形的,你可以使用它创建漂亮的统计图表:在这个例子中,ggplot2 提供了 ggplot() 函数和 geom_point() 函数,用于创建散点图。

查看帮助文档: 了解包中的函数和功能的最好方法是查看它们的帮助文档。你可以使用 ? 或 help() 函数来查看帮助文档。例如:

注意事项:

如果你使用 RStudio,你可以直接在界面中的 "Packages" 标签页中进行包的安装和加载,而不必在控制台中键入命令。

如果你使用的是已安装在网络上的 R 环境,可能需要管理员权限才能安装包。

在某些情况下,你可能需要安装特定版本的包。你可以使用 install.packages("packageName", version = "desiredVersion") 这样的语法。

总之,install.packages() 是安装 R 包的基本函数,它可以使你轻松获取并使用 R 生态系统中的各种功能。

赋值与注释

在 R 语言中,赋值和注释有一些常见的用法。以下是关于赋值和注释的基本信息:

赋值:

1、使用 <- 运算符: 在 R 中,通常使用 <- 运算符进行赋值。例如:

或者使用 = 作为赋值运算符:

# 也可以使用 = 进行赋值

y = 10

2、多个赋值: 你可以一次给多个变量赋值。

3、赋值到环境: 有时候你可能想要将值赋给全局环境中的变量。可以使用 <<- 运算符。

注释:

1、使用 # 符号: 在 R 中,# 符号用于注释。任何 # 符号后面的内容都被视为注释,不会被执行。例如:

2、多行注释: 在 R 中没有直接的多行注释语法,但你可以使用多个 # 来注释多行

3、块注释(RStudio): 在 RStudio 中,你可以使用 Ctrl + Shift + C 快捷键将选中的代码块注释或取消注释。

请注意,良好的注释和代码风格是良好编程实践的一部分,有助于代码的可读性和维护性。

R的函数与对象

在 R 语言中,函数和对象是两个基本的概念,它们是进行数据分析和编程的关键元素。以下是对 R 中函数和对象的简要介绍。

对象

在 R 中,对象的命名、类型、类别和属性是代码可读性和可维护性的关键方面。

对象命名:

R是区分大小写的,A与a是不同的。 对象名不能用数字开头,但是数字可以放在中间或结尾。推荐用”.”作为间隔,例如 anova.result1

1、清晰而描述性的命名: 给对象取一个清晰而描述性的名字,能够准确反映对象的用途。这有助于代码的可读性。

# 不好的例子

a <- c(1, 2, 3)

# 好的例子

ages <- c(25, 30, 22)

2、避免使用保留字: 避免使用 R 中的保留字作为对象的名字,以免引起混淆。

# 不好的例子

c <- c(1, 2, 3)

# 好的例子

values <- c(1, 2, 3)

3、使用有意义的命名: 通过命名传达对象的内容和用途。

# 不好的例子

df <- data.frame(x = c(1, 2, 3), y = c(4, 5, 6))

# 好的例子

student_scores <- data.frame(math = c(90, 85, 92), english = c(80, 88, 95))

对象类型:

1. 对象类型(Type):

在 R 中,typeof() 函数用于获取对象的基本数据类型。以下是一些常见的 R 对象类型:

1、numeric: 数值类型,包括整数和浮点数。

x <- 5

typeof(x) # 返回 "double"

2、character: 字符串类型。

name <- "Alice"

typeof(name) # 返回 "character"

3、logical: 逻辑类型,表示 TRUE 或 FALSE。

flag <- TRUE

typeof(flag) # 返回 "logical"

4、integer: 整数类型。

count <- 10L # L 表示长整数

typeof(count) # 返回 "integer"

5、complex: 复数类型。

z <- 3 + 4i

typeof(z) # 返回 "complex"

对象类别:

类别定义了对象的更高级别的数据类型,指示对象属于哪个类或类型的数据结构。你可以使用 class() 函数来获取对象的类别。

1、基本类别: R 中有一些基本的类别,例如 "numeric"、"character"、"logical" 等。

2、自定义类别: 你也可以为对象定义自定义的类别,通常用于表示特定的数据结构或对象类型。

类别的使用通常与面向对象编程(OOP)和各种 R 包中的对象有关。通过了解对象的类别,你可以更好地理解对象的行为和可用的操作。

对象属性:

在 R 中,对象的属性是与对象相关联的附加信息,可以包括对象的元数据、类别信息以及其他自定义属性。

1. 元数据(Metadata):

元数据是对象的附加信息,通常用于存储关于对象的描述性信息。你可以使用 attr() 函数来设置和获取对象的元数据。

# 设置元数据

attr(my_vector, "description") <- "This vector represents temperatures."

# 获取元数据

description <- attr(my_vector, "description")

2.类别信息(Class):

类别信息指示对象所属的类或类型的数据结构。你可以使用 class() 函数来获取或设置对象的类别。

# 设置对象类别

class(my_vector) <- "temperature_vector"

# 获取对象类别

category <- class(my_vector)

3. 列名(Column Names):

对于数据框(data frame),列名是每列的标识符,可以通过 names() 函数进行设置或获取。

# 设置列名

names(my_dataframe) <- c("Name", "Age", "Score")

# 获取列名

column_names <- names(my_dataframe)

4. 其他自定义属性:

你可以使用 attr() 函数为对象添加其他自定义属性,这些属性可以根据你的需要包含任何附加信息。

# 添加自定义属性

attr(my_object, "custom_attribute") <- "Custom value"

# 获取自定义属性

custom_value <- attr(my_object, "custom_attribute")

5. 全局环境中的属性:

有时候,你可能希望将属性设置为在全局环境中可见。这时可以使用 <<- 运算符。

# 将元数据设置为全局环境中可见

my_global_object <<- 42

通过有效地使用对象的属性,你可以更好地组织和管理数据,同时提供关于数据结构和用途的附加信息。这对于在团队协作中和将来回顾代码时都非常有用。

函数

在 R 语言中,函数是一种用于执行特定任务的可重复使用的代码块。定义函数:

使用 function() 关键字可以定义一个函数。函数可以有输入参数(arguments)和输出(return)。

# 定义一个简单的函数

add_two_numbers <- function(x, y) {

result <- x + y

return(result)

}

调用函数:

定义函数后,可以使用函数名和参数调用它。

# 调用函数

sum_result <- add_two_numbers(5, 7)

print(sum_result) # 输出结果:12

默认参数值:

你可以为函数的参数设置默认值,如果调用时未提供参数值,则使用默认值。

# 定义带有默认参数值的函数

power_function <- function(x, exponent = 2) {

result <- x^exponent

return(result)

}

不定参数个数:

使用 ... 来表示函数的不定参数个数,这在一些情况下很有用。

# 定义带有不定参数的函数

print_args <- function(...) {

print(list(...))

}

匿名函数:

可以使用 function() 创建匿名函数,通常用于函数式编程。

# 创建匿名函数

square <- function(x) x^2

cube <- function(x) x^3

使用 apply 函数:

apply 系列函数(如 lapply、sapply、apply 等)可以对数据进行迭代操作。

# 使用 lapply 对列表中的每个元素应用函数

result_list <- lapply(my_list, function(x) x^2)

自定义函数文档:

使用 #' 注释块可以为函数添加文档说明,提供使用方法和参数说明。

#' 这是一个加法函数

#'

#' @param x 第一个数字

#' @param y 第二个数字

#' @return 两个数字的和

add_two_numbers <- function(x, y) {

result <- x + y

return(result)

}

这只是函数在 R 中的基本使用,R 还有很多高级的函数概念和技巧,如闭包、函数式编程等。函数是 R 编程的核心,深入理解函数的使用和设计将有助于更高效地进行数据分析和编程。

相关推荐

金山毒霸卸载不了?3步强制卸载指南(2分钟搞定)
BET体育365官网首页

金山毒霸卸载不了?3步强制卸载指南(2分钟搞定)

📅 08-15 👁️ 1656
开家水果店大概要投资多少钱?一年利润是多少钱
[其他]梦幻西游乌鸡国副本详细攻略更新
beat365亚洲投注

[其他]梦幻西游乌鸡国副本详细攻略更新

📅 08-25 👁️ 5683