R语言学习

1.清屏
Ctrl + L

2.退出
q()

3.设置工作空间
getwd()
setwd(‘D:\\Program Files\\RStudio\\workspace‘)

4.显档当前工作目录下的文件列表
list.files()
choose.dir()
dir("D:\\Program Files\\RStudio\\workspace", full.names=T, all.files=T, recursive=T)

5.安装包
install.packages("gstat")
remove.packages("gstat")  # 删除
update.packages()  # 更 新 所 有 已 经 安 装 的 包
availabe.packages()  # 可 用 的 更 新央
download.packages(pkgs,...)  #  下 载 指 定 的 包
packageStatus()  # 返回可更新信息

6.加载包
library(gstat)
detach("package:gstat") # library 的 逆 向 操 作
library() #查看所有可用的包
search() #查看当前调入内存的包

7.查找帮助
?gstat
help(‘gstat‘)
apropos(‘gstat‘)

8.环境变量(options)
options()
options("digits")  # 默 认 打 印 字 符 长 度
options(digits=3)  # 设置打印字符长度

9.运行系统命令
system("ls x*")
files <- system("ls x*",intern=T)  # 保存输出结果为R对象,加入参数intern=T

10.内存管理
Rgui --min-vsize=10M --max-vsize=100M --min-nsize=500k --max-nsize=1M  # 启 动 时 候 管 理 内 存

# 启动后修改最大内存与查询内存信息
help(memory.size)
memory.size(max = FALSE)
memory.limit(size = NA)
memory.limit()
memory.profile()

11.显示内存中的变量
ls()
ls.str()
str(x)

12.清除内存中的变量
rm(list=ls())
rm(‘a‘)

13.测试运行时间
# 将 函 数 包 含 在system.time() 内, 返回运行时间
system.time(for(i in 1:100) mad(runif(1000)))

15.原子类型
    R的对象类型包括
    数 值 型 (numeric) ,
    复 数 型 (complex) ,
    逻 辑 型 (logical) ,
    字 符 型 (character)
    原 味 型 (raw)
    NA

16.向量
    向量必须保证它的所有元素是一 样的模式。向量对象的类型的包括: 实数、复数、逻辑、字符串。 它们是原子(atomic), 即元素类型一样。

17.因子
    一个因子不仅包括分类变量本身还包括变量不同的可能水平(即使它们在数据中不出现)。因子函数factor用下面的选项创建一个因子 :
    factor(x, levels = sort(unique(x), na.last = TRUE),labels = levels, exclude = NA, ordered = is.ordered(x))

18.列表(list)
    R的列表(list)是一个以对象的有序集合构成的对象 。 列表中包含的对象又称为它的分量(components)。每个分量的长度和类型可以不同。
    Lst <- list(name="Fred", wife="Mary", no.children=3, child.ages=c(4,7,9))
    获取分量
    Lst$name 和Lst[[1]] 返 回 结 果 都 是"Fred",
    Lst$wife 和Lst[[2]] 返 回 的 则 是"Mary",
    Lst$child.ages[1] 和Lst[[4]][1] 返 回 一 样 的 数 字4

    这里特别要注意一下Lst[[1]]和Lst[1]的差别 。[[...]]是用来选择单个元素的操作符,而[...]是一个更为一般的下标操作符。因此前者得到的是列表Lst中的第一个对象,并且含有分量名字的命名列表(named list)中的分量名字会被排除在 外的失。后者得到的则是列表Lst中仅仅由第一个元素构成的子列表。如果是命名列表,分量名字会传给子列表的。

19.数据框(data.frame)
    数据框(data.frame)也是列表夬是一个属于“data.frame”类的列表。不过,对于可能属于数据框的列表对象有一些限制条件。
    分量必须是向量(数值、字符、逻辑),因子,数值矩阵,列表或者其他数据框;每列的行数必须相等。
    数据框常常会被看作是一个由不同模式和属性的列构成的矩阵。它能以矩阵形式出现,行列可以通过矩阵的索引习惯访问。

20.矩阵
    矩阵(matrix)是一个双下标(2维)的数组央但是,它非常的重要,以至于需要单独讨论。
    包括许多只对矩阵操作的操作符和函数。
    命名与数组array()一样。
    矩阵的下标顺序是先第一列,然后第二列,等等。
    d<-matrix(c(1,2,3,4,5,6,7,8,9),nc=3)

21.数组(array)及维度命名
    数组可以看作是带有多个下标类型相同的元素集合,如数值型夬是矩阵的推广。R有一些简单的工具创建和处理数组,特别是矩阵。
    向量只有在定义了dim属性后才能作为数组在R中使用。假定,z是一个含1500个元素的向量。那么dim(z)<-c(3,5,100),对dim属性的赋值使得z向量成一个3维的3*5*100的数组。

    #命名的顺序总是行,列,第三维,...,每一维还可以有一个总名字,也可以没有
Rabbits <-array(
    c( 0, 0, 6, 5,
    3, 0, 3, 6,
    6, 2, 0, 4,
    5, 6, 1, 0,
    2, 5, 0, 0),
    dim = c(2, 2, 5),
    dimnames = list(
        Delay = c("None", "1.5h"),
        Response = c("Cured", "Died"),
        Penicillin.Level = c("1/8", "1/4", "1/2", "1", "4")))

22.字符串及相关操作
    针对字符串的函数有 print, paste, cat, nchar, strsplit, regexpr, grep, gsub, sub等。
    > seq="GGGGCGAAACCGAGACTCTCAAATGACTTTTCTGA"
    > seq=strsplit(seq,"")
    chartr(old, new, x):字符串替换
    tolower(x),toupper(x):大小写变换
    paste, cat:合并字符串
    nchar:有多少字母
    substr(x, start, stop):取子串
    strsplit:按分隔符切分字符串
    gsub, sub:子串替换
    regexpr, grep:查找子串

23.分数
    MASS fraction函数可以将小数转换为近似的分数
    > fractions(0.291667)

24.日期和时间
    当前日期和时间夬返回Date和DateTimeClasses对象。
        > date()
        > Sys.time()
        > Sys.Date()
        > s=‘08:10:00‘
        > z=strptime(s,‘%H:%M:%S‘)
        > class(z)

    字符串转换为日期时间的函数有format和as.character
    format将Date POSIXlt POSIXct转换为指定格式的字符串。  例如 > w=format.POSIXlt(z,format="%Y-%m-%d")
    as.character转换为字符串。  例如 > w=as.character(z)

    strptime将字符串转换为“POSIXlt”,例如 > w=strptime("09:10:00",‘%H:%M:%S‘)
    strftime是format.POSIXlt的一个wrapper

    # 将 DateTimecleses 转 换 为 Date。 例如 > as.Date(w)

    #时间差异
    as.double(difftime(w,z,units="sec"))

16.字符串表达式与求值
# 返 回 表 达 式 列 表(list), 但 是 不 求 值
parse(text="0==1")
expression(0 == 1)
# 求 字 符 串 代 表 的 表 达 式 的 值
eval(parse(text="0==1"))
# deparse() 返回函数代码字符串. substitute() 将变量替换为其值.

17.读取外部数据
data(meuse)  #rda
read.table(file=file.choose(), header=T) #text
read.csv(‘D:/R/test2.csv‘, header=T, row.names=1) #csv
data<-read.table(
    file="clipboard",sep="\t",header=F,
    colClasses = "numeric",na.strings = "-")  #从剪切板取数据
data<-t(matrix(scan("fileName",sep=‘,‘), 5, 364)) # 读取大数据,读 入364行,每行有5个数

18.给变量赋值
data.entry(X)将打开一个图形编辑器并且可以通过点击适当的单元格修改数值

height<-c(1.75, 1.80, 1.65, 1.90, 1.74, 1.91)
seq():顺序产生数,默认by为1
letters():顺序产生字母,默认by为1

19.查看对象类型
mode(x)       # 显示数据类型
typeof(x)
length(x)

22.获取和改变对象属性
attributes(y)
str(y)
table(x)
dim(y)            #查看或改变对象的维度,这里将向量变为数组。
dimnames(y)
dimnames(y)$x
class(y)                 # 确定y的class

attr(z, "dim") <- c(10,10) # 允许R把z当作一个10×10 的矩阵。

20.类型转换
as(x,"character")
as.character(x)
as.numeric(s)

rbind():将向量按行结合为矩阵,cbind()则相反。
round():起到四舍五入的作用,默认转化为整数。
mean():平均值。
sum():求和。
min():最小值
max():最大值
prod():将数据集中数连乘。
var():方差。
sd():标准差。
which():得到的是向量的下标
rev():
sort():
t():使矩阵转置
矩阵相乘是a%*%b,
a*b是相对应位置上的数相乘。
diag():对矩阵求对角向量;对向量求对角矩阵;参数为常数时求单位向量矩阵。
solve(a):求矩阵的逆矩阵; solve(a,b):求ax=b方程组的解。

rnorm():生成正态分布数。
rpois():泊松分布
rexp():指数分布
rgamma():Gamma分布
runif():均匀分布
rbinom():二项分布
rgeom():几何分布

------------------------------------------------------
> library(sp)
> library(maptools)
> library(raster)

> maxd3 = readAsciiGrid("max.d3.txt")
> rasterlayer.maxd3 = raster(maxd3)
> maxd1 = readAsciiGrid("max.d1.txt")
> rasterlayer.maxd1 = raster(maxd1)
> rasterlayer.max.d3.d1 = rasterlayer.maxd3 - rasterlayer.maxd1
> rasterlayer.maxRange = rasterlayer.maxd1>0
> maxRange = rasterToPolygons(rasterlayer.maxRange, dissolve=TRUE)

> plot(maxRange)
> cols = grey.colors(20, 0.1, 0.9, 2.2)
> image(maxd3, col=cols, useRaster=TRUE)
时间: 2024-11-14 11:33:45

R语言学习的相关文章

R语言学习笔记2——绘图

R语言提供了非常强大的图形绘制功能.下面来看一个例子: > dose <- c(20, 30, 40, 45, 60)> drugA <- c(16, 20, 27, 40, 60)> drugB <- c(15, 18, 25, 31, 40) > plot(dose, drugA, type="b") > plot(dose, drugB, type="b") 该例中,我们引入了R语言中第一个绘图函数plot.pl

R语言学习笔记

參考:W.N. Venables, D.M. Smith and the R DCT: Introduction to R -- Notes on R: A Programming Environment for Data Analysis and Graphics,2003. http://bayes.math.montana.edu/Rweb/Rnotes/R.html 前言:关于R 在R的官方教程里是这么给R下注解的:一个数据分析和图形显示的程序设计环境(A system for data

R语言学习(5)-字符串和因子

字符串和因子 1.字符串 创建字符串 > c("HELLO","WORLD") [1] "HELLO" "WORLD" 使用paste函数连接字符串 > paste(c("hello","hi"),"world") [1] "hello world" "hi world" > paste(c("hel

R语言学习中的小bug:R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数

遇到了小bug: R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数 看到网上别人的做法,发现了用class(A)和class(B)之后才发现,是因为读入的时候数据的类型不对,A.B的类型并不是matrix,才导致了这个问题. 用as.matrix来变型一下,就OK了. R语言学习中的小bug:R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数,布布扣,bubuko.com

R语言学习(2)

向量矩阵和数组 1.vector函数可以创建指定类型.长度的矢量 (其结果中的值可以是0,FLASE,空字符串) > vector("numeric",5) [1] 0 0 0 0 0 > vector("complex",6) [1] 0+0i 0+0i 0+0i 0+0i 0+0i 0+0i > vector("logical",6) [1] FALSE FALSE FALSE FALSE FALSE FALSE > 

R语言学习(3)

列表和数据框 1.列表 list函数创建列表 > (a_list <- list(c(1,1,2,5,14,42),month.abb,matrix(c(3,-8,1,-3),nrow=2),asin)) [[1]] [1]  1  1  2  5 14 42 [[2]] [1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul&qu

R语言学习(4)-环境和函数

环境和函数 1.环境 使用new.env函数创建环境 > an_environment <- new.env() 向环境中分配变量与列表相同 > an_environment[["pythag"]] <- c(12,15,20,21) > an_environment$root <- polyroot(c(6,-5,1)) > assign("moonday",weekdays(as.Date("1969/07/2

R语言学习(1)

将R作为科学计算器使用 1.例: > 1:5 + 6:10 [1]  7  9 11 13 15 > c(1,3,5,7,9)+c(2,4,6,8,10) [1]  3  7 11 15 19 > median(2:5) [1] 3.5 > 1:10 / 3 [1] 0.3333333 0.6666667 1.0000000 1.3333333 1.6666667 2.0000000 2.3333333 [8] 2.6666667 3.0000000 3.3333333 > 

R语言学习笔记 之 可视化地研究参议员相似性

基于相似性聚类 很多时候,我们想了解一群人中的一个成员与其他成员之间有多么相似.例如,假设我们是一家品牌营销公司,刚刚完成了一份挂怒有潜力新品牌的研究调查问卷.在这份调查问卷中,我们向一群人展示了新品牌的几个特征,并且要求他们对这个新品牌的每个特征按五分制打分.同时也收集了目标人群的社会经济特征,例如:年龄.性别.种族.住址的邮编以及大概的年收入. 通过这份调查问卷,我们想搞清楚品牌如何吸引不同社会经济特征的人群.最重要的是,我们想要知道这个品牌是否有很大的吸引力.换个角度想这个问题,我们想看看

R语言学习笔记(二)

今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述. > vars<-c("mpg","hp","wt") > head(mtcars[vars]) mpg hp wt Mazda RX4 21.0 110 2.620 Mazda RX4 Wag 21.0 110 2.875 Datsun 710 22.8 93 2.320 Hornet 4 Drive 21.4 110 3.215 Hornet Sportab