语法结构(流程化)
掌握r的语法结构能够有助于我们使我们的分析流程化。这样会更快捷方便。
对于初学的人来说,就多尝试一下,熟能生巧。
函数就是将片段化的语法合并,如果说函数时一个机器人,那么语法结构和数据就是各种各样的零件。
1. for
的用法
# for (条件) {输出}
for (i in seq(10)) {print(i)}
while
的用法
i = 1
while (i < 10) {print(i); i = i+1}
if
的用法
# if, else的用法
i = 4 # 可以多换几个i试试
if (i > 5) {print(i)} else {print(i + 1)}
# else if 的用法
i = 4
if (i >5) {print("hahha")} else if (i<3) {print("oo")} else {print("0000")}
# ifelse的用法
i = 4
ifelse(i >5, "true", "false") # 条件正确,输出true,错误输出false
switch
以及函数的用法
# 根据对应的下表取值
print(switch(3,"a","b",5,"d")) # 输出为5
print(switch("hah",hah="wo", heihei="ni")) # 根据对应的字符取值,输出为“wo”
# 自定义函数的用法
myfunction = function(arg1,arg2...){
statement
return(object)
}
# switch 应用于函数
# cat函数仅仅在输入类型不匹配的时候执行。
a = function(x,type_fun){
switch(type_fun,
mean = mean(x),
sum = sum(x),
quantile = quantile(x),
max = max(x),
min = min(x)
cat(type_fun,"is a wrong function!")
)
}
x = c(1,2,3)
c = a(x,'quantile')
d = a(x,"hahha") # 输出结果是hahha is a wrong function!