R - 变量:初学者指南

你好,有抱负的R语言程序员!我很高兴能成为你进入R语言变量世界的向导。作为一个教编程多年的老师,我可以向你保证,理解变量就像学习骑自行车一样——一旦你学会了,你就永远不会忘记!那么,让我们跳进去,让这个过程变得有趣且易于理解。

R - Variables

变量是什么?

在我们深入了解之前,让我们从基础开始。想象变量就像是有标签的盒子,你可以用来存储不同类型的信息。就像你可能有了一个标有“书籍”的盒子来存放书籍,在R语言中,你可以创建变量来存储数字、文本,甚至更复杂的数据。

变量赋值

现在,让我们学习如何创建这些盒子(变量)并在其中放置东西!

赋值基础

在R语言中,我们使用赋值运算符 <- 来创建变量。它看起来像一个指向左边的箭头,这正是它的作用——它将右边的值指向左边的变量名。

my_first_variable <- 42

在这个例子中,我们创建了一个名为 my_first_variable 的变量,并在其中存储了数字42。简单吧?

你也可以使用 = 进行赋值,但在R社区中更常用 <-

my_second_variable = "Hello, R!"

多重赋值

你可以在一行代码中赋值给多个变量:

x <- y <- z <- 10

这会创建三个变量(xyz)并将值10赋给它们。就像设置了一排相同的盒子,每个盒子里都装着数字10。

命名约定

在命名变量时,请记住以下几点:

  • 名称可以包含字母、数字、点(.)和下划线(_)
  • 名称必须以字母或点开头
  • 如果名称以点开头,后面不能直接跟数字
  • 名称区分大小写(myVar 和 myvar 是不同的)

以下是一些有效和无效的变量名称:

valid_name <- 1
Valid.Name <- 2
.valid_name <- 3

2invalid <- 4  # 无效!不能以数字开头
_invalid <- 5  # 无效!不能以下划线开头

变量的数据类型

就像盒子可以包含不同类型的物品一样,R语言中的变量可以持有不同类型的数据。让我们探索一下主要的数据类型:

数值

用于存储数字,包括小数。

my_number <- 42.5
print(my_number)

输出:

[1] 42.5

整数

用于存储整数。添加一个 L 来显式地将其转换为整数。

my_integer <- 42L
print(my_integer)

输出:

[1] 42

字符

用于存储文本(字符串)。

my_text <- "I love R!"
print(my_text)

输出:

[1] "I love R!"

逻辑

用于存储 TRUE 或 FALSE 值。

is_r_fun <- TRUE
print(is_r_fun)

输出:

[1] TRUE

检查数据类型

要检查变量持有的数据类型,使用 class() 函数:

x <- 42
y <- "Hello"
z <- TRUE

print(class(x))
print(class(y))
print(class(z))

输出:

[1] "numeric"
[1] "character"
[1] "logical"

查找变量

随着你的代码增长,你可能想知道你已经创建了哪些变量。R语言提供了一些便捷的函数来帮助你:

ls() 函数

ls() 函数列出当前环境中所有的变量:

a <- 1
b <- "two"
c <- TRUE

print(ls())

输出:

[1] "a" "b" "c"

exists() 函数

要检查特定的变量是否存在,使用 exists() 函数:

print(exists("a"))
print(exists("d"))

输出:

[1] TRUE
[1] FALSE

删除变量

有时,你可能需要移除不再需要的变量。这可以帮助释放内存并保持工作空间的整洁。

rm() 函数

rm() 函数用于移除变量:

x <- 10
y <- 20

print(ls())
rm(x)
print(ls())

输出:

[1] "x" "y"
[1] "y"

你可以一次移除多个变量:

a <- 1
b <- 2
c <- 3

rm(a, b, c)
print(ls())

输出:

character(0)

移除所有变量

要移除所有变量并从干净的状态开始:

rm(list = ls())

小心使用这个命令——它就像一次清空所有盒子的行为!

变量相关函数总结

下面是一个我们学到的关键函数的便捷表格:

函数 描述 示例
<-= 将值赋给变量 x <- 10
class() 返回变量的数据类型 class(x)
ls() 列出当前环境中的所有变量 ls()
exists() 检查变量是否存在 exists("x")
rm() 移除指定的变量 rm(x)rm(x, y)
rm(list = ls()) 移除所有变量 rm(list = ls())

就这样!你已经迈出了进入R语言编程世界的第一步。记住,变量是代码的构建块,掌握它们是成为一个熟练的R语言程序员的关键。

在练习过程中,你会发现处理变量变得得心应手。不要害怕实验——创建变量,给它们赋予不同类型的数据,看看会发生什么。你越玩越熟,就会越舒适。

快乐编程,并记住——在R语言的世界里,你现在就是变量大师!

Credits: Image by storyset