R语言的赋值符号有<-、=、->、<<-、->>六种,它们的使用与区别如下:
- '<-’:最常用的赋值符号。它将右侧表达式的值赋给左侧的变量,像一个向左的箭头。例如,'x <- 3'将3赋给变量x。在Rstudio中的快捷输入键是同时按“ALT键“和“减号”,同时会自动在其前后加了空格。
- '=':也可以用于赋值操作,其作用与'<-'相同。例如,'x = 100'将100赋给变量x。通常在函数调用和参数传递时使用'='进行赋值。
- '->':是'<-'的反向形式,它将左侧变量赋值为右侧表达式的值,像一个向右的箭头,。例如,'10 -> x'将10赋给变量x。不常见,通常较少使用。
- '->>':用法类似于'->',将右侧表达式的值赋给左侧的变量。也不常见,通常较少使用。
- '<<-':这个符号是‘->>’的反向形式,用于在函数内部改变全局环境中的变量。当在函数内部使用'<<-'对一个变量进行赋值时,如果该变量在函数外部没有定义,则会在全局环境中创建这个变量,并进行赋值操作。这种行为被称为"superassignment",超分配。
总结:
'<-'和'='是最常用的赋值符号,它们的作用相同,但函数调用和参数传递时使用'='进行赋值;
`->`和`->>`相对较少使用;
`<<-`则具有特殊的全局赋值功能,在一般情况下应当谨慎使用。
StudentData <- data.frame(name = c("Linda","Summer","Tom","Bob"),
age = c(18,19,17,18),
gender = c("W","W","M","M"),
range = c("B","A","B","B")
)
StudentData
参数传递时应“=”,运行结果为:正确形式
StudentData <- data.frame(name <- c("Linda","Summer","Tom","Bob"),
age <- c(18,19,17,18),
gender <- c("W","W","M","M"),
range <- c("B","A","B","B")
)
StudentData
参数传递时应“<-”运行结果: