R编程权威指南:R中的变量

本文概述

变量

变量是存储器中的标识符或命名空间, 它们被存储并可以在程序中稍后引用和操纵。 R是一种动态类型化和解释型语言, 其中在运行时对变量和其他对象进行类型检查。这也意味着R的解释器不会强制程序员在使用变量之前明确声明变量的”数据类型”。

R中的规则变量

变量名称必须以字母开头, 并且可以包含数字, 字母, 下划线(”)和句点(‘。’)。

示例:variableName1, new.variable,

  • 不允许在变量名的开头使用下划线(”)。
  • 示例:” _ my_var”不是有效的变量名称。

  • 变量名开头的句点(‘。’)是允许的, 但不能在后面加上数字。在R中最好使用’。这有助于区分标识符的不同单词。
  • 示例:”。myvar”是有效的变量名。但是, “。1myvar”不是有效的变量名, 因为带数字的句点无效。

不允许将保留字或关键字定义为变量名。

变量名称中不允许使用特殊字符(例如”#”, “&”等)以及空格(制表符, 空格)。

变量分配

R中的变量可以通过以下三种方式之一进行分配。

  1. 赋值运算符:” =”用于分配值。下面的示例包含20作为值, 存储在变量” first.variable”中。示例:first.variable = 20
  2. ‘<-‘运算符:以下示例包含新程序作为分配给’second.variable’的字符。示例:second.variable <-“新程序”
  3. ‘->’运算符:以下示例包含565作为整数, 该整数被分配给’third.variable’。
    示例:565-> third.variable

变量类型

R中的变量类型可以由class(), typeof()和mode()确定

‘class()’-将给出对象的高级类型, 也就是说, 从R中的面向对象编程的角度来看, 取决于它是向量还是任何其他数据结构, 返回类型将是不同。

如果对象的类型是向量, 则选择以下数据类型之一。整数数字字符逻辑例如, 下面将返回整数类型和数字类型。 my.var1 = 8L返回:”整数” my.var2 = 8.5返回:”数字”

但是, 对于诸如matrix(), data.frame(), list()和array()之类的对象, 将返回各自的类型。例如, 列表类型将在下面作为”列表”返回。 my.var3 = list(6, 9, 5)返回:”列表”

  1. typeof()-返回值是低级的, 与R中对象的内部类型匹配, R程序员通常使用它来确定对象的类型。
    例如, R中的一些内部对象类型如下所示:

    typeof(8 + 6i)
    返回:复杂

    typeof(factor(c(4, 5, 6)))
    返回:整数

你可以使用typeof()探索对象内部类型, 以找到对象的其他内部类型。

3.mode()-它还返回与’typeof()’相同且紧密相关的值。但是, 以下类型的’typeof()’和mode()之间存在一些差异。

typeof()中的类型” symbol”在mode()中为”名称”

例如:typeof(as.name(‘foo’))返回’symbol’, 而mode(as.name(‘foo’))返回’name’。

typeof()中的类型” language”在mode()中作为”(“或” call”返回

例如:typeof(y〜x)返回’language’, 而mode(45L)返回’call’。

typeof()中的类型” integer”和” double”在mode()中作为”数字”返回

例如:typeof(45L)返回”整数”, 而mode(45L)返回”数字”。

typeof()中的类型” special”和” builtin”在mode()中作为” function”返回

例如:typeof(return)返回”特殊”, 而mode(45L)返回”功能”。

删除变量

R中的变量可以使用’rm()’轻松删除或删除。

例如, 下面的代码输出为8。

my.var = 8
cat(my.var)

通过使用’rm(my.var)’删除变量。

rm(my.var)

你可以通过’cat(my.var)’检查变量是否被删除。

cat(my.var)

上面的代码将导致以下错误:

cat(my.var)中的错误:找不到对象” my.var”

恭喜啦

恭喜, 你已完成本教程的结尾!

在本教程中, 你介绍了R的变量, 定义变量的规则, 变量的不同分配类型以及检查变量类型的不同种类以及变量的删除。

如果你想了解有关R的更多信息, 请参加srcmini的R入门课程。

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?