初识R语言

R是一门为统计分析设计的语言,具备强大的数据分析与画图功能。

R开发环境

配置 RStudio 以使用国内的镜像,这样下载软件包更快。

画一幅新浪股票K线图:

1
2
3
4
5
> install.packages("quantmod")
> require(quantmod)
> getSymbols("SINA",src="yahoo",from="2015-01-01", to='2015-12-31')
> chartSeries(SINA,up.col='red',dn.col='green')
> q()

获得:

R基础

获取帮助文档:

1
2
3
4
5
6
7
> help(solve) # 获得说明信息
> ?solve
> help("[[")
> help.start() # 获得R文档手册
> ??solve # 获得相关文档手册
> example("solve") # 获得示例
> ?help # 如何使用帮助文档命令

加载源文件:

1
> source("commands.R")

查看对象:

1
2
3
> objects()
> ls()
> rm(x, y, z, ink, junk, temp, foo, bar)

定义向量或列表:

1
2
3
4
5
> x <- c(10.4, 5.6, 3.1, 6.4, 21.7)
> assign("x", c(10.4, 5.6, 3.1, 6.4, 21.7))
> c(10.4, 5.6, 3.1, 6.4, 21.7) -> x
> 1/x
> y <- c(x, 0, x)

向量进行数学计算:

1
2
3
4
> v <- 2*x + y + 1
> sum((x-mean(x))^2)/(length(x)-1)
> sqrt(-17)
> sqrt(-17+0i)

获取普通数据序列:

1
2
3
4
> seq(-5, 5, by=.2) -> s3
> s4 <- seq(length=51, from=-5, by=.2)
> s5 <- rep(x, times=5)
> s6 <- rep(x, each=5)

获取逻辑向量列表:

1
2
3
> temp <- x > 13
> temp
[1] FALSE FALSE FALSE FALSE TRUE

空值(NaN):

1
2
3
4
5
6
7
8
> z <- c(1:3,NA); ind <- is.na(z)
> z;ind;
[1] 1 2 3 NA
[1] FALSE FALSE FALSE TRUE
> 0/0
[1] NaN
> Inf - Inf
[1] NaN

字符串向量:

1
2
3
> labs <- paste(c("X","Y"), 1:10, sep="")
> labs
[1] "X1" "Y2" "X3" "Y4" "X5" "Y6" "X7" "Y8" "X9" "Y10"

索引、选取向量列表元素:

1
2
3
4
5
6
7
8
9
10
11
> y <- x[!is.na(x)]
> (x+1)[(!is.na(x)) & x>0] -> z
> x[1:10]
> c("x","y")[rep(c(1,2,2,1), times=4)]
> y <- x[-(1:5)]
> fruit <- c(5, 10, 1, 20)
> names(fruit) <- c("orange", "banana", "apple", "peach")
> lunch <- fruit[c("apple","orange")]
> x[is.na(x)] <- 0 # 将空值替换为0
> y[y < 0] <- -y[y < 0]
> y <- abs(y)

R对象几乎可以任意转换:

1
2
3
4
5
6
> z <- 0:9
[1] 0 1 2 3 4 5 6 7 8 9
> digits <- as.character(z)
[1] "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"
> d <- as.integer(digits)
[1] 0 1 2 3 4 5 6 7 8 9

改变对象长度:

1
2
3
> e <- numeric()
> e[3] <- 17
> alpha <- alpha[2 * 1:5]

设置属性:

1
> attr(z, "dim") <- c(10,10)

资源

吴羽舒 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!