R语言学习笔记 (入门知识)
R免费使用;统计工具;
# 注释,行注释
块注释:anything="这是注释的内容"
常用R语言编辑器:Rsutdio,Tinn-R,Eclipse+StatET;中文会有乱码
帮助:?,help; ?boxplot, help(boxplot),help("[[")
运行R文件:source('abc.R')
加载包:library(ggplot2)
安装包:install.packages()
退出R:q()
设置工作目录:setwd("E:\\XXX\\yyy\\")
清空内存:rm(list=ls(all=TRUE))
对数:log自然对数;log10;
标量;
赋值:<-,=
变量取名可以用.
c() 向量; Win[1], Win[1:5], Win[-2],下标从1开始;
c()可以连接多个标量;也可连接多个向量;
NA
变量取名大写字母开头
na.rm=TRUE
rep(); rep(1:4, each=8)
seq(); seq(from=1,to=4,by=1)
cbind()
rbind()
matrix(); matrix(nrow=8,ncol=4); Z[,1], Z[1:8,1], Z[2,], Z[,-3], Z[,c(1,3,4)]
dim(Z)
nrow(); ncol();
vector(length=8)
colnames()
rownames()
as.matrix;as.data.frame,is.matrix, is.data.frame,
t()
XX<-data.frame(AA=AA,BB=BB); XX$AA; XX[,1];
str()
names()
list(X1=x1,X2=x2)
is.na()
!is.na()
read.table() 生成了数据框
scan() 数值型比较快
write.table() #可以用于保存向量,矩阵,data.frame.
factor
attach(); detach();
unique()
筛选子集: Sel<-Squid$Sex==1; SquidM<-Squid[Sel,]; Squid[Squid$Sex==1,];
|, &, !=, ==
order() # To sort a data frame in R, use the order( ) function.
对向量排序: sort(x, decreasing = FALSE, ...)
merge()
as.factor(); as.numeric(); as.character();
factor(Squid$Sex, levels=c(1,2), labels=c("M","F"))
tapply(); tapply(X=Veg$R,INDEX=Veg$Transect, FUN=mean) 根据第二个变量的不同水平对第一个变量进行求平均值运算;
mean,min,max,sd,length,
lapply() 多个变量;输出list;lapply(x,FUN=mean)
sapply() 多个变量;输出vector; sapply(x,FUN=mean)
summary() 输出最小值,第一个四分位数,中位数,平均值,第三个四分位数,最大值;
table() 计算列联表;一个变量或两个变量;
plot(); plot(x=XXX,y=YYY); plot(y~x,data=Veg);
plot(x=,y=,xlab=,ylab=,main=,xlim=,ylim=),pch=1..25;
warnings()
col 颜色; cel 尺寸;cex尺寸;
lines()划线; loess()loess平滑;fitted()拟合值;
lwd线宽度,lty线类型;
jpeg(file="xxxx.jpg"); dev.off();
paste(); paste0();
for(i in 1:27) {}
for(var in seq) expr
while(cond) expr
repeat expr
break
next
if(cond) expr
if(cond) cons.expr else alt.expr
ifelse(choice=="Zeros",expr1,expr2);
自定义函数
function_name<-function(params){
do something
expr -- return values;
}
colSums(); rowSums();
函数参数默认值
function_name<-function(params, xxx="YYY"){
do something
expr -- return values;
}
《R语言初学者指南》
ls(); ls(pat = "m");ls(pat = "^m")
help("bs", try.all.packages = TRUE); help("bs", package = "splines")
help.search("tree", rebuild = TRUE))
对象的类型和长度可以分别通过函数mode和length得到
\", \'
函数scan比read.table要更加灵活,它们的区别之一是前者可以指定变量的类型
mydata <- scan("data.dat", what = list("", 0, 0)) 读取了文件data.dat中三个变量,第一个是字符型变量,后两个是数值
型变量。
函数read.fwf可以用来读取文件中一些固定宽度格式的数据
若想用更简单的方法将一个对象写入文件,可以使用命令write(x,file ="data.txt"),其中x是对象的名字(它可以是向量,矩阵,或者数
组)
要记录一组任意数据类型的对象,我们可以使用命令save(x, y, z,file= "xyz.RData")。
数据(用R的术语来说叫做工作空间)可以在使用load("xyz.RData")之后被加载到内存中。
键盘输入一些数据也是可以的,只需要直接使用默认选项的scan函数:
函数sequence创建一系列连续的整数序列,每个序列都以给定参数的数值结尾
函数gl(生成不同的水平/层次数据)
expand.grid()创建一个数据框
数学运算 比较运算 逻辑运算
+ 加法 < 小于 ! x 逻辑非
- 减法 > 大于 x & y 逻辑与
* 乘法 <= 小于或等于 x && y 同上
/ 除法 >= 大于或等于 x j y 逻辑或
^ 乘方 == 等于 x jj y 同上
%% 模 != 不等于 xor(x, y) 异或
%/% 整除
identical和all.equal
如果X是一个矩阵,命令data.entry(X)将打开一个图形编辑器并且可以通过点击适当的单元格修改数值或者添加新的行或列
R语言学习笔记 (入门知识)的更多相关文章
- R语言学习笔记:基础知识
1.数据分析金字塔 2.[文件]-[改变工作目录] 3.[程序包]-[设定CRAN镜像] [程序包]-[安装程序包] 4.向量 c() 例:x=c(2,5,8,3,5,9) 例:x=c(1:100) ...
- R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html ---- 前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. ...
- R语言学习笔记-机器学习1-3章
在折腾完爬虫还有一些感兴趣的内容后,我最近在看用R语言进行简单机器学习的知识,主要参考了<机器学习-实用案例解析>这本书. 这本书是目前市面少有的,纯粹以R语言为基础讲解的机器学习知识,书 ...
- R语言学习笔记(二)
今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述. > vars<-c("mpg","hp","wt") &g ...
- R语言学习笔记:小试R环境
买了三本R语言的书,同时使用来学习R语言,粗略翻下来感觉第一本最好: <R语言编程艺术>The Art of R Programming <R语言初学者使用>A Beginne ...
- R语言学习笔记︱Echarts与R的可视化包——地区地图
笔者寄语:感谢CDA DSC训练营周末上完课,常老师.曾柯老师加了小课,讲了echart与R结合的函数包recharts的一些基本用法.通过对比谢益辉老师GitHub的说明文档,曾柯老师极大地简化了一 ...
- R语言学习笔记(五)绘图(1)
R是一个惊艳的图形构建平台,这也是R语言的强大之处.本文将分享R语言简单的绘图命令. 本文所使用的数据或者来自R语言自带的数据(mtcars)或者自行创建. 首先,让我们来看一个简单例子: ...
- R语言学习笔记——C#中如何使用R语言setwd()函数
在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//")> setwd("e:\桌面\")> s ...
- R语言学习笔记(一)
1.不同的行业对数据集(即表格)的行和列称谓不同,统计学家称其为观测(observation)和变量(variable): 2.R语言存储数据的结构: ①向量:类似于C语言里的一位数组,执行组合功能的 ...
随机推荐
- 志强处理器结尾的ES、QS、正式版的区别
CPU的推出过程大概分这几个步骤:ES1:测试架构和工艺制程ES2:修正大量BUG 这个时候的U已经能用了 但还存在隐患ES3(QS):质量认证样品 型号确定 在电脑上能显示型号和规格 可能存在或不存 ...
- C++哪些运算符重载能够重载?
运算符重载是C++极为重要的语言特性之中的一个.本文将用代码实例回答--C++哪些运算符能够重载?怎样重载?实现运算符重载时须要注意哪些? 哪些运算符能够重载,哪些不可重载? C++98,C++0x, ...
- Splunk Web页面的登录密码忘记了怎么办
splunk的web登录密码忘记的话,可以使用以下方法重置. 一.关闭splunk服务 /opt/splunk/bin/splunk stop 二.删除默认密码配置文件 三.重启启动splunk服务, ...
- [Windows Azure] Getting Started with Windows Azure SQL Database
In this tutorial you will learn the fundamentals of Windows Azure SQL Database administration using ...
- (原创)谈谈boost.asio的异步发送
在上一篇博文中提到asio的异步发送稍微复杂一点,有必要单独拿出来说说.asio异步发送复杂的地方在于: 不能连续调用异步发送接口async_write,因为async_write内部是不断调用asy ...
- Java 编程下字符串的 16 位、32位 MD5 加密
package cn.sunzn.md5; import java.security.MessageDigest; import java.security.NoSuchAlgorithmExcept ...
- (转)Making 1 million requests with python-aiohttp
转自:https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html Making 1 millio ...
- 使用canvas绘制饼状图
<!doctype html><html lang="en"><head> <meta charset="UTF-8" ...
- 双重检验的单例模式,为什么要用volatile关键字
双重检验的单例模式是比较推荐的单例写法,在该代码中的单例对象的是用volatile关键字修饰的.这时就产生的一个疑问,为什么需要volatile来修饰呢?上网查看多个博客,下面简单通俗分析一下当中的原 ...
- MFC中获取命令行参数的几种方法
在MFC程序中,可以用以下几种方法来获取命令行参数. 为方便说明,我们假设执行了命令:C:\test\app.exe -1 -2 方法一 ::GetCommandLine(); 将获取到 " ...