R 从零开始,简单API集合

1.简单的算数操作和向量运算

命令行启动 R,退出 q(). 可以在退出时保存项目进度,同目录下启动R时可以恢复进度.

获取函数帮助:help(solve) 或者 ?solve ,help.start() 启动html帮助

对于使用某个命令的例子,可以用example(topic)查看

R 大小写敏感, 命令可以被;隔开,可以使用({})构复合表达式,#开始到句尾为注释

如果一批命令保存在commands.R中,可以使用source("commands.R")执行

sink("log.txt")把输出导入到文件中,sink()把输出导回控制台

R创建和控制的实体被称为对象,对象通过名字创建和保存.ls()和objects()用来显示所有对象,rm(object)删除对象

赋值可以使用<-,=或二者->,或者用assign("x",c(1,2,3))来实现。 c()用来构建任意参数形成的向量

y=c(x,0,x)可以形成新向量。1/x可以显示出各个元素的倒数。在算数表达式中用向量会让每个元素都进行向量运算

+-*/ log(),exp(),sin(),cos(),tan(),sqrt(),max(),min(),mean(),sum(),var(计算方差),length().sort(升序)

seq(2,10)等价于2:10. seq有更多参数seq(from=a,to=b,by=c,length=d)参数顺序可变,by为步长.

rep可以重复对象 rep(c(1:3),times=2) 得到(1,2,3,1,2,3), rep(c(1:3),each=2)得到(1,1,2,2,3,3)

逻辑向量:TRUE, FALSE, NA。逻辑运算:<,<=,>,>=,==,!=. &交集运算与,|并集运算或,!非运算

任何含有NA数据的运算结果都是NA,is.na(x)返回一个和x长度相等的向量,x中为NA的位置为TRUE,其余为FALSE

NAN是缺损值如0/0,NA为不可得到值

paste()可以有任意多参数,把他们一个一个连成字符串,如paste(c("x","y"),1:6,sep="")得到("1x","2y","3x","4y","5x","6y")

一个向量的子集可以通过在[]中加入索引向量得到:

1.逻辑向量:此时索引向量需要和逻辑向量长度一致。x[!is.na(x)]取得所有非NA元素作为子集,(x+1)[(!is.na(x)) & x>0] 把x所有元素加1并生成一个不含NA和负数的子集

2.正整数向量。此时和索引向量对应的元素被选中,长度和索引向量一致,如x[1:10].索引向量长度可以比原向量长,如c("x","y")[rep(c(1,2,2,1),times=4)]会生成"x","y","y","x"重复四次的向量

3.负整数向量:指定元素排除,如(x[-(1:5)])排除1-5号元素

4.字符串向量:仅仅用于用name属性来标识元素。如: fruit=c(1,2,3,4);names(fruit)=c("a","b","c","d");num=fruit[c("a","b")]

向量是R里面最重要的,还有其他对象比如矩阵matrix,因子factor,列表list,数据框data frame,函数function.

2.对象以及他们的模式和属性

R中对象的类型包括数值型"numeric",复数型"complex",逻辑型"logical",字符型"character"和原味型"raw"。mode(object) 可以得到对象类型。as.character(z), as.integer(z)可以转换对象类型,class(object)看对象所属的类

使用length(alpha)=3 改变alpha的长度为3. e=numeric(),e为空对象,e[3]=10把e长度扩展为3,前两个元素为NA。

3.有序因子和无序因子

因子(factor)用来储存类别变量和有序变量,这种变量不能用来计算,只能用来分类和计数。例子:

colour <- c(‘G‘, ‘G‘, ‘R‘, ‘Y‘, ‘G‘, ‘Y‘, ‘Y‘, ‘R‘, ‘Y‘)

col <- factor(colour)

col1 <- factor(colour, levels = c(‘G‘, ‘R‘, ‘Y‘), labels = c(‘Green‘, ‘Red‘, ‘Yellow‘)) #labels的内容替换colour相应位置对应levels的内容

col2 <- factor(colour, levels = c(‘G‘, ‘R‘, ‘Y‘), labels = c(‘1‘, ‘2‘, ‘3‘))

col_vec <- as.vector(col2) #转换成字符向量

col_num <- as.numeric(col2) #转换成数字向量

col3 <- factor(colour, levels = c(‘G‘, ‘R‘));col3 输出是在Y的地方为<NA>

 4.数组和矩阵

时间: 2024-08-06 22:31:55

R 从零开始,简单API集合的相关文章

Rsession让Java调用R更简单

Rsession让Java调用R更简单 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器.随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长.现在已不仅仅是统计领域,教育,银行,电商,互联网….都在使用R语言. 要成为有理想的极客,我们不能停留在语法上,要掌握牢固的数学,概率,统计知识,同时还要有创新精神,把R语言发挥

HDFS基本命令行操作及上传文件的简单API

一.HDFS基本命令行操作: 1.HDFS集群修改SecondaryNameNode位置到hd09-2 (1)修改hdfs-site.xml <configuration> //配置元数据存储位置 <property> <name>dfs.namenode.name.dir</name> <value>/root/hd/dfs/name</value> </property> //配置数据存储位置 <property

linux下删除用户脚本----不是userdel -r 那么简单

linux下删除用户不仅仅是userdel -r 那么简单. 如果你删除用户时,该用户有许多进程正在进行,你是不是要一个个kill掉再删除: 如果你成功删除该用户后,系统中还有需要改用户的文件是不是还要删除. 如上,岂不麻烦.下面的脚本可以帮你快速删除一个或多个用户. #!/bin/bash #delete user from system #by slitobo 2017/6/2 #check user is root [ `id -u` -ne 0 ] && echo "Pl

用C#自定义一个简单的集合

作为一个C#初学者,我也闲来无聊来自己做了一个简单的'集合',用来加深自己对集合的理解 class listNode { private object value; public listNode(object _value) { this.value = _value; } public object Value { get { return value; } } public listNode Next { get; set; } public listNode Prev { get; se

java简单的集合框架(一)

首先让我们看一下简单的集合框架的继承层次 collection                   list(有序的容器   元素可以重复)                                                        Queue(队列)                                                  set(无序的容器就是元素不可重复) linkedList        ArrayList   Vector          

简单API的实现

之前在做系统资源上报时,因不知道怎么将数据上报给服务端再展示,后来用了一种最直接和不安全的方式,直接写入数据库,这样做很不方便,主要因为需要授权和做相关的防火墙策略(如果有几百上千台client,就算用网段的形式,也需要重复操作),而且如果数据库的信息发生变化时,需要把所有客户端的数据库信息进行修改,比较麻烦:最近学习了一种通过url方式将数据传递给服务端,实现简单的api功能,简单例子如下: 客户端代码: #!/usr/bin/env python #coding:utf8 import js

Lua Go R HEXO 简单介绍

Lua Lua使用C编写而成的脚本语言.同为脚本语言的Python拥有庞大的类库工具包,定位于独立开发,Lua极度精简化,没有提供太多功能包,必须与C.C++等语言混合使用,目的是为了快速并动态的嵌入式地胶合.扩展普通程序的功能模块,也用于作为普通配置文件替代XML.ini等文件. 脚本解释.运行速度很快,解释器内核精简. 支持面向过程与函数式编程.多线程,仅提供number和string两种简单类型及唯一的通用类型Table表示数组.集合.对象等功能,带有简单的垃圾收集. 与C.C++结合,可

JAVA-初步认识-常用对象API(集合框架-Map集合-存储自定义对象)

一. 接下来想对学生进行一个排序,应该搞一搞比较方法.通过观察程序的另一部分,学生是具备比较方法的,是按照年龄排的. 现在要对键进行排序,(我是觉着谁叫键,谁叫值是无所谓的,只是位置决定的),将前面的hashmap改成treemap, 将刚才遍历采用的是keyset,现在准备采用entryset. 结果进行了排序,按年龄排的序. 如果想按姓名排序,就要搞个比较器.是有的, 存的是student,比较的是person.这个比较器,person的集合能用,student,worker的集合也能用.

国内值得关注的官方API集合

项目地址:https://github.com/marktony/Awesome_API 本页仅收集国内部分官方API,如需查看其他版本,请点击这里. 目录 笔记 出行 词典 电商 地图 电影 后端云 即时通讯 开发者网站 快递查询 旅游 社交 视频 天气 图片与图像处理 外卖 消息推送 音乐 云 语音识别 综合 笔记 为知笔记 - 为知笔记Windows客户端开放了大量的API,其中绝大部分,都通过COM提供,可以在javascript, C#, C++, Delphi等语言中使用.接口通过I