## 1. 数据输入 ##
a$b         # 数据框中的变量
a = 15      # 赋值
a <- 15     # 赋值
a = c(1,2,3,4,5)    # 数组(向量)
b = a[1]            # 数组下标,从1开始
b = a[1:5]          # 子数组
b = a[-2]           # 子数组:扣除第2个的子数组
b = a[c(1,3)]       # 子数组:访问第1,3个元素
b = c(a0,a1,a2)     # 连接多个数组
a = rep(c(1,2,3,4),each=8)  # 生成重复数列,支持每个重复和整个重复
a = seq(from=1,to=4,by=1)   # 生成等差数列
b = cbind(a0,a1,a2,a3)      # 按列合并,生成二维数组
b = a[,1]           # 取第1列
b = a[1:4,1]
b = a[,c(1,3,4)]
a = vector(length=8)        # 生成向量
a = matrix(1:20, nrow=8,ncol=4) # 生成矩阵
colnames(a) = c("A","B","C","D")    # 列名称。!! 函数作为左值
b = as.matrix(cbind(a1,a2,a3))      # 利用cbind直接生成矩阵
b = data.frame(b1 = a1,b2 = a2)     # 生成数据框
b = list(c(1,2,3),c("a","b","c","d"),matrix(nrow=2,ncol=2))     # 生成散列
b = a$c == 1    # 生成一个用于筛选的向量 !!较难理解
d = a[b,0]      # 生成符合条件的子集
d = a[a$c == 1,]
b = order(a$c)  # 生成一个用于排序的向量 !!较难理解
a[b,]           # 排序结果
b = merge(a1,a2,by = "Sample",all = "TRUE")     # join两个数据框
a$fb = factor(a$b)  # 因子化
tapply(X=a$b,INDEX=a$c,FUN=mean)    # 对所有子集作函数运算
sapply(a,FUN=mean)  # 对所有列作函数运算,输出向量
lapply(a,FUN=mean)  # 对所有列作函数运算,输出列表
summary(a)          # 计算所有列的基本统计信息
table(a$b)          # 计算列联表
table(a$b,a$c)
paste("a","b",sep=",")  # 连接字符串 

##2. 载入和输出数据 ##
b = read.table(file="C:/data.txt",header=TRUE,dec=".")  # 读取CSV数据
library(RODBC)      # 载入ODBC工具
odbcConnect("MyDb.mdb") # 连接ODBC数据库
b = sqlFetch(channel,"MyTable")     # 取表
write.table(a,file="temp.txt",sep=" ",quote = FALSE, append=FALSE,na="NA")  # 输出

## 3. 绘图 ##
plot(x=a$b,y=a$c,xlab="X",ylab="Y",main="Title",xlim=c(0,10),ylim=c(0,100),pch=1,col=2,cex=1.5) # 散点图,参数多支持向量
lines()         # 曲线
jpeg(file="any.jpg")    # 打开一个jpg文件
dev.off()       # 关闭图片文件

## 4. 语法 ##
for (i in 1:10) {do sth...} # for循环
a = function(a,b="n") {     # 构造函数
    do sht...
}

## A. 函数  ##
# 运算 #
colSums()   # 按列求和
max()
median()    # 中位数
min()
paste()     # 连接字符串
rowSums()   # 按行求和
solve()     # 矩阵求拟
sqrt()      #
sum()       # na.rm=TRUE 忽略NA值
t()         # 矩阵转置

# 数据定义 #
attach()    # 添加数据框为路径
as.matrix() # 作为矩阵
as.data.frame() # 作为数据框
c()         # 连接向量
cbind()     # 按列连接,生成二维
colnames()  # 列名
detach()    # 去除数据框作为路径
dim()       # 行数、列数
factor()    # 因子化
is.matrix() # 是否矩阵
is.data.frame() # 是否数据框
lapply()    # 对所有列作函数运算,输出列表
matrix()    # 生成矩阵
names()     # 查看list的元素名称
nrow()      # 行数
ncol()      # 列数
order()     # 数据框排序
rbind()     # 按行连接
rep()       # 重复数列。 each 自身重复
rm()        # 删除变量
rownames()  # 行名
sapply()    # 对所有列作函数运算,输出向量
seq()       # 等差数列
str()       # 数据框的每个属性
summary()   # 计算所有列的基本统计信息
table()     # 计算列联表
tapply()    # 对所有子集作函数运算
unique()    # 查找剔重值
vector()    # 生成向量

# 环境与载入、输出数据
read.table()    # 读取数据文件
scan()      # 读取数据文件
setwd()     # 设置当前工作目录
write.table()   # 输出文件

# 绘图
jpeg()      # 打开JPG图片
plot()      # 散点图
dev.off()   # 关闭图片文件

R语言语法笔记的更多相关文章

  1. C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

    原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...

  2. R语言语法基础二

    R语言语法基础二 重塑数据 增加行和列 # 创建向量 city = c("Tampa","Seattle","Hartford"," ...

  3. R语言语法基础一

    R语言语法基础一 Hello world #这里是注释 myString = "hello world" print(myString) [1] "hello world ...

  4. R语言学习笔记:因子

    R语言中的因子就是factor,用来表示分类变量(categorical variables),这类变量不能用来计算而只能用来分类或者计数. 可以排序的因子称为有序因子(ordered factor) ...

  5. R语言学习笔记:字符串处理

    想在R语言中生成一个图形文件的文件名,前缀是fitbit,后面跟上月份,再加上".jpg",先不百度,试了试其它语言的类似语法,没一个可行的: C#中:"fitbit&q ...

  6. R语言学习笔记:向量

    向量是R语言最基本的数据类型. 单个数值(标量)其实没有单独的数据类型,它只不过是只有一个元素的向量. x <- c(1, 2, 4, 9) x <- c(x[1:3], 88, x[4] ...

  7. R语言学习笔记︱Echarts与R的可视化包——地区地图

    笔者寄语:感谢CDA DSC训练营周末上完课,常老师.曾柯老师加了小课,讲了echart与R结合的函数包recharts的一些基本用法.通过对比谢益辉老师GitHub的说明文档,曾柯老师极大地简化了一 ...

  8. R语言学习笔记(五)绘图(1)

      R是一个惊艳的图形构建平台,这也是R语言的强大之处.本文将分享R语言简单的绘图命令.   本文所使用的数据或者来自R语言自带的数据(mtcars)或者自行创建.   首先,让我们来看一个简单例子: ...

  9. R语言学习笔记1——R语言中的基本对象

    R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...

随机推荐

  1. Eclipse安装ADT失败解决办法

    Eclipse的版本是3.5.2,配置Android的开发环境时遇到问题…… 按照Android官方文档一步步安装,到了安装Eclipse的ADT插件时,提示“requires 'org.eclips ...

  2. leetcode第一刷_Jump Game

    这个题事实上非常easy的,我一開始想复杂了,它没要求记录路径,事实上仅仅要看一下每一步之后所能延伸到的最远的位置就能够了,在这一个最远位置前面的那些位置,都是能够到达的,假设扫到了某个i,它大于当前 ...

  3. 学习笔记之#pragma

    http://baike.baidu.com/link?url=lxA9Wl1KnacWUDZYz5U06iKMkUAeI6dr0x1wQ4i-rqf6Dpk6hEeOOaj2XhvGx9VLVm2z ...

  4. php常用系统函数

    首先纯html页要用meta标签声明编码   <meta http-equiv="Content-Type" content="text/html; charset ...

  5. PHP加速器

    转http://www.vpser.net/opt/apc-eaccelerator-xcache.html 一.PHP加速器介绍         PHP加速器是一个为了提高PHP执行效率,从而缓存起 ...

  6. 认识CoreData-多线程

    CoreData使用相关的技术点已经讲差不多了,我所掌握的也就这么多了.... 在本篇文章中主要讲CoreData的多线程,其中会包括并发队列类型.线程安全等技术点.我对多线程的理解可能不是太透彻,文 ...

  7. ClientKey实现登录QQ空间,并设置背景音乐

    ClientKey大家都知道的,通过webbrowser登录后取得Cookie并计算出GTK,即可操作空间的POST. 源代码中引用了苏飞的Http类库,自己修改添加了一些拓展方法. 下载地址:htt ...

  8. APP运营干货分享

    从移动互联网市场总监岗位出发,从几个方面来阐述移动互联网部门如何制定一份运营推广策划案,至于关于移动互联网,移动电商是大趋势这些虚的.空泛的文字,不展开说了. 一.竞品分析 1.选择竞品,做好定位(选 ...

  9. JS获取网页宽高方法集合

    JS获取网页宽高等方法的集合:document.body.clientWidth - 网页可见区域宽document.body.clientHeight - 网页可见区域高 document.body ...

  10. C#之装箱和拆箱

    在实际编码过程中,有时候会出现装箱和拆箱操作.下面就类分别认识一下: 需要注意的是,类型转换和这个是不同的.Convert方法并没有发生装箱和拆箱操作,而是类型转换,包括int.parse等等. 装箱 ...