本文概述
变量
变量是存储器中的标识符或命名空间, 它们被存储并可以在程序中稍后引用和操纵。 R是一种动态类型化和解释型语言, 其中在运行时对变量和其他对象进行类型检查。这也意味着R的解释器不会强制程序员在使用变量之前明确声明变量的”数据类型”。
R中的规则变量
变量名称必须以字母开头, 并且可以包含数字, 字母, 下划线(”)和句点(‘。’)。
示例:variableName1, new.variable,
- 不允许在变量名的开头使用下划线(”)。
- 变量名开头的句点(‘。’)是允许的, 但不能在后面加上数字。在R中最好使用’。这有助于区分标识符的不同单词。
示例:” _ my_var”不是有效的变量名称。
示例:”。myvar”是有效的变量名。但是, “。1myvar”不是有效的变量名, 因为带数字的句点无效。
不允许将保留字或关键字定义为变量名。
变量名称中不允许使用特殊字符(例如”#”, “&”等)以及空格(制表符, 空格)。
变量分配
R中的变量可以通过以下三种方式之一进行分配。
- 赋值运算符:” =”用于分配值。下面的示例包含20作为值, 存储在变量” first.variable”中。示例:first.variable = 20
- ‘<-‘运算符:以下示例包含新程序作为分配给’second.variable’的字符。示例:second.variable <-“新程序”
- ‘->’运算符:以下示例包含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)返回:”列表”
- 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入门课程。