文档章节

R语言系列:编程语法简介

explore
 explore
发布于 2012/10/25 10:34
字数 521
阅读 1162
收藏 2

控制结构:
    if () {}
    多条件选择,注意else的位置,如下:

    if () {
        } else if () {
        } else {
        }

    ifelse(test, yes, no)    #三目操作

    for (i in 1:n) {}
    while () {}
    break
    next

输出中间结果
    print(x)
    cat(x,"\n")    #注意"\n"的使用

向量化:
1、要充分利用R语言中向量运算的自动循环
    例:x=rnorm(10); y=runif(10); z=x+y;
2、使用apply对矩阵进行自动循环

程序引用:
    程序保存后可以使用source(“文件名”)进行调用
    注意:文件不在当前工作目录中时,要使用绝对路径。

编写函数(子程序):
    函数名 = function (参数列表) {}
    函数内的变量无需声明,仅在封装环境内起作用
    参数列表可设默认值
    返回值:默认语句块内最后一步,但建议使用return()返回。
    注意:return()应该是最后一句。
    注意:虽然本人喜欢把子程序放在程序主体后面,但R语言认为应该先定义子程序。

建立一个空变量及循环添加数据:
    a=NULL;    #建立一个类型为NULL,长度为0的变量
    for (i in 1:n) {a=c(a,i);}    #循环添加向量元素
    for (i in 1:n) {a=rbind(a, c(...));}    #逐行添加矩阵元素
    a=list(); for (i in 1:n) {a[[i]]=...;}    #逐个添加列表元素

将字符串转为变量名
    name='x';
    assign(name, 1:5);    #创建新变量并赋值,和x=1:5一样
    get('x');    #获取变量的内容,x可以是任意对象,包括列表、函数等
    get(name)    #也可以这样
    cat('x is: ', x, "\n")    #屏幕输出,比print好用

使用省略号传递参数的参数
    func=function(x,y,...) {print(y(x,...));}
    func(0.5,punif);
    func(0.5,pbeta,2,1);

将文本转为表达式并求值
    x=1:10;
    temp='x[1:5]';
    eval(parse(text=temp))    #parse将文本转为表达式,eval求值

附:
循环利用数据索引时,使用seq比1:length(x)更好,因为length(x)可能取0
    for (i in seq(x)) {if (i %% 100 == 0) {print(i);};}

程序暂停
    Sys.sleep(time)

© 著作权归作者所有

共有 人打赏支持
explore
粉丝 13
博文 60
码字总数 34421
作品 0
太原
R语言入门 – 什么是R语言,为什么选择R语言用于机器学习或数据挖掘

  R语言最近在TIOBE排名上取得了不小的进步,上升到了第13名。因为机器学习的火爆的程度和R语言特殊的语法,使得它的关注度越来越高。好多人对于R语言的特性和语法不太了解,而因我在上学的...

全栈开发
03/06
0
0
R语言可视化学习笔记之相关矩阵可视化包ggcorrplot

基于ggplot2包以及corrplot包的相关矩阵可视化包ggcorrplot,ggcorrplot包提供对相关矩阵重排序以及在相关图中展示显著性水平的方法,同时也能计算相关性p-value 安装方法就不提了,不懂的可...

R语言中文社区
01/25
0
0
Rserve与Java的跨平台通信

R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大。 R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言...

zh119893
2014/04/20
0
2
谈谈R中的乱码(三)

前面讲过,R 中字符向量可以有多种编码。一般情况下,对于混合编码,R 都能很好的自动处理。例如: x1 <- '中国'x2 <- iconv(x1, 'GB2312', 'UTF-8') == 判断也没问题 x2 == '中国' [1] TRU...

R语言中文社区
02/08
0
0
R语言学习笔记之相关性矩阵分析及其可视化

计算相关矩阵 R内置函数 cor() 可以用来计算相关系数:cor(x, method = c("pearson", "kendall", "spearman")),如果数据有缺失值,用cor(x, method = "pearson", use = "complete.obs")。 ...

R语言中文社区
02/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

这周撸了两款小程序,分享下关键点。

本周撸了两款小程序,在这里总结下开发过程中的小经验,希望对大家有用。 小程序端 我们先说小程序要注意的地方。 ##默认入口转发问题 当一个小程序Page的js文件中存在 onShareAppMessage 方...

阿北2017
18分钟前
1
0
物联网技术很新吗?不!都是旧技术

通常,当我们想到物联网时,我们会想到新的、令人兴奋的现代技术。毕竟,还有什么比不用起床就能通过智能手机告诉咖啡机开始煮晨杯的“未来”更重要呢? 多亏了物联网,我们可以在世界任何地方...

linuxCool
26分钟前
1
0
利用责任链模式设计一个拦截器

前言 近期在做 Cicada 的拦截器功能,正好用到了责任链模式。 这个设计模式在日常使用中频率还是挺高的,借此机会来分析分析。 责任链模式 先来看看什么是责任链模式。 引用一段维基百科对其...

crossoverJie
44分钟前
2
0
属性动画

透明度 alpha 平移translationX/translationY 旋转 rotation 缩放 scaleX/scaleY 多个动画一起AnimatorSet 透明度 ObjectAnimator oa = ObjectAnimator.ofFloat(iv,"alpha" ......

lanyu96
44分钟前
1
0
Docker和Kubernetes如何让DevOps更具效力

缩短time-to-makrt对于任何一家企业都至关重要,这直接决定了客户满意度、市场竞争力乃至盈利能力。但在部署应用时,大多数企业内的IT团队都或多或少会遇到Dev和Ops之间的问题,这两个部门围...

好雨云帮
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部