文档章节

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

explore
 explore
发布于 2012/10/25 10:34
字数 521
阅读 1148
收藏 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
粉丝 12
博文 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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

bat强制启用宏

运行bat文件后,将宏的安全等级设为低,达到启用宏的目的。 REM 这个文件将提供用户快速设置Excel宏的安全等级@ECHO OFFCLS:cmd4REG ADD "HKEY_CURRENT_USER\Software\Mi...

tedzheng
8分钟前
0
0
流,用声明性的方式处理数据集 - 读《Java 8实战》

引入流 Stream API的代码 声明性 更简洁,更易读 可复合 更灵活 可并行 性能更好 流是什么? 它允许以声明方式处理数据集合 遍历数据集的高级迭代器 透明地并行处理 简短定义:从支持数据处理...

yysue
10分钟前
1
0
postman发送json格式的post请求

postman发送json格式的post请求 在地址栏里输入请求url:http://127.0.0.1:8081/getmoney 选择“POST”方式, 在“headers”添加key:Content-Type , value:application/json 点击"body",''ra...

两广总督bogang
17分钟前
0
0
Javascript将html转成pdf,下载(html2canvas 和 jsPDF)

最近碰到个需求,需要把当前页面生成pdf,并下载。弄了几天,自己整理整理,记录下来,我觉得应该会有人需要 :) 项目源码地址:https://github.com/linwalker/render-html-to-pdf html2ca...

孟飞阳
17分钟前
0
0
pureftp源码编译及设定

--- use for RHEL 567 and Ubuntu 1604 1. download pureftpd wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.47.tar.bz2 2. install gcc #apt-get install -y li......

zzimac
19分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部