一、 R语言变量
1. 变量规则:字母、数字、点、下划线。点后不能加数字
2. 打印变量
print()只能打印一个变量
cat()可以打印多个变量的组合【cat(“aaa”,var,”bbb”)】
print(ls())打印工作区内所有的变量
3. 查找变量
ls()查找所有变量
ls(pattern =“var”)使用模式来匹配变量名(以,开头的变量默认隐藏print(ls(all.names= TRUE))可以显示所有的变量)
4. 删除变量
rm(var1) 删除某个变量
rm(list= ls())删除所有变量
二、 R语言运算
1. 运算符:+-*/ ^幂,%%求余,%/%求模数
2. 逻辑:& | !按元素运算 && ||只取两个向量的第一个元素并输出一个结果
3. 赋值:<−,<<−和= - 叫作左分配符;->和->> - 叫作右分配符;
冒号运算符(:) - 它为向量创建一系列数字;
成员运算符(%in%);
转置相乘(%*%)
三、 流程控制
1. if, if else和java一样
2. switch(EXPR, case1, case2,...)
其中:
EXPR:可以为一个number或字符串
casen:the list of alternatives
x<- switch("cc",a=1,cc=,cd=,d=2)
print(x)
[1] 2
【若EXPR为字符串,则该list必须具有名字,每个list项为name_i=expr_i,当EXPR与某个name_i严格匹配时,expr_i为结果;当expr_i为空时,类似于多个case分支共用一个值。】
x <- switch(3, "first","second","third","fourth”)
print(x)
[1] "third"
【若EXPR不为字符串,则强制转换为integer,后面的list不写name_i项(自动按顺序转换成1,2,3,…),只写expr_i项,并作为该函数的结果。】
3. repeat
repeat {
commands
if(condition) {
break
}
}
4. while同java
5. for
for (value in vector) {
statements
}
6. break, next同java中的break, continue
四、 函数
1. function_name <-function(arg_1, arg_2, ...) {
Function body
}
2. 函数调用
若调用时不提供占位符名称,则需要按顺序传参;
若提供占位符名称,则可不按顺序;
定义时可以提供参数默认值,调用时不提供新的数值时就可以使用默认值
【函数只有在执行时才评估语法是否错误,所以请在编写的时候注意函数是否漏定义参数】
五、 字符串
1. 单引号可以插入到双引号开头和结尾的字符串中;
双引号可以插入到单引号开头和结尾的字符串中。
2. paste(..., sep = " ", collapse = NULL)【组合任意数量的参数】
… - 表示要组合的任何数量的参数。
sep - 表示参数之间的任何分隔符,这是一个可选项。
collapse - 用于消除两个字符串之间的空格,但不是一个字符串的两个单词之间的空格。
3. format(x, digits, nsmall, scientific, width, justify = c("left","right", "centre", "none"))【规格化数字或字符串】
x - 是输入的向量。
digits - 是显示的总数。
nsmall - 小数点右侧的最小位数。
scientific - 设置为TRUE,以显示科学符号。
width - 表示开始填充空白时要显示的最小宽度。
justify - 是将字符串显示为左,右或中心。
4. nchar(x)【计算字符串中包含空格的字符数】
5. toupper(x), tolower(x)【改变大小写】
6. substring(x, first, last)【提取字符串x的first与last之间的子串】