向量

创建向量:

利用c()来创建向量,注意c是小写的。

如:v <- c(1,4,4,3) 或 v <- c("apple","banana","orange")

返回某些元素:

如:v[c(2,3,4)]  或 v[2:4] 或 v[c(4,3)]  

索引值从1开始。与matlab是类似的,利用向量中的每一个元素作为索引值来索取v中对应的值。其中v[c(4,3)] 会先返回第四个元素,再返回第三个元素。

删除某些元素

如:v[-2] 或 v[-2:-4]

该操作并不能直接删除原向量中的某个元素,而是返回一个去掉该元素的新向量。“-”表示除去该元素,而非删除。

利用赋值可达到删除的效果:

v <- v[-2] 或 v <- v[-2:-4]

利用条件表达式获得元素:

如:v[v < 3] ;将返回v中小于3的元素。

寻找元素:

1.which(表达式)

如:which(v==3);返回的是符合表达式的元素的索引。

v <-  c(2,2,4,4,6)
which(v==4)


> v <-  c(2,2,4,4,6)
> which(v==4)
[1] 3 4

2.which.max()和which.min()

可以找到向量中的最大值和最小值的索引,且只返回第一个最值的索引。

 

随机数

R语言中的随机数是伪随机数,是由事先规定好的映射来实现的。

set.seed(num)

用于设置随机数种子,当num一样时,无论何时何地,产生的随机数都是一样的;并且每一次都各自相同。

runif(num,min = ,max = )

采用均匀分布产生随机数,其中num表示随机数的个数,min和max用于界定随机数的范围。

例子:

> set.seed(250)
> runif(3,0,100)
[1] 26.54018 77.90907 16.90836
> runif(3,0,100)
[1] 84.26782 79.99474 96.74011
> runif(3,0,100)
[1] 82.58289 14.05654 50.02645

换一个时间,换一台电脑,或者重新设置相同的随机数种子,产生的结果还是一样的。

当然,也可以用其他的分布产生随机数,如rnorm()正态分布等。

 

取整

x参数可以是数,也可以是向量。

floor(x):舍去小数后是不大于其的最大整数,如floor(7.2) = 7

celing(x) :舍去小数后是不小于其的最小整数,如floor(7.2) = 8

round(x,digits = 0):四舍五入,并根据digits参数(整数)来决定对x保留几位小数

 

帮助

?函数名

?round

会出现与该函数相关的帮助文档:

R语言中如何去掉向量内的空格 r语言去掉向量中的元素_正态分布

??某个想要查找的名称

当使用?找不到时,可以用??来查找与这个名称有关系的其他内容。

 

导入数据文件

导入本地数据

read.csv(file = "路径名")

以csv的形式打开文件。csv用“,”做分隔符。

read.table(file = "路径名")

以table形式打开文件。tab用“\t”做分隔符。

导入在线数据

如:read.csv("http://www.macalester.edu/kaplan/ISM/darasets/swim100m.csv")

查看默认路径

getwd()

设置默认路径

setwd()

attach(filename)

用于把文件中的每一列变为向量,并可以直接调用。

attach(data3)

data3内容如下图:

R语言中如何去掉向量内的空格 r语言去掉向量中的元素_R语言中如何去掉向量内的空格_02

 

此时,year、time、sex均为向量,可以调用:

R语言中如何去掉向量内的空格 r语言去掉向量中的元素_正态分布_03

注:前面用中括号括起来的数字表示其后面的数字是第几个。比如1905是第一个,1986是第27个。

 

画图

一般的画图:

plot()

直方图(histogram):

hist()

break表示数据所分的组数,即直方图的柱子数

示例:

set.seed(123)
x <- rnorm(100,mean = 100,sd = 10)
set.seed(234)
y <- rnorm(100,mean = 100,sd = 10)
hist(x,breaks = 20)

 直方图如下:

R语言中如何去掉向量内的空格 r语言去掉向量中的元素_随机数_04

密度图

plot(density())

plot(density(x))

 

R语言中如何去掉向量内的空格 r语言去掉向量中的元素_R语言中如何去掉向量内的空格_05

散点图 (scatter plot)

plot()

R语言中如何去掉向量内的空格 r语言去掉向量中的元素_随机数_06

箱图

boxplot()

boxplot(x,y)

x与y都服从正态分布,集中在100附近(矩形表示),但y的中位数(黑实线表示)比x稍大一些。 

R语言中如何去掉向量内的空格 r语言去掉向量中的元素_R语言中如何去掉向量内的空格_07

~用于将某组数据根据某个元素分组,例如:time~sex,将时间根据sex分组,用boxplot(time~sex)绘图得到:

R语言中如何去掉向量内的空格 r语言去掉向量中的元素_直方图_08

Q-Q Plot(quantile-quantile plot,分位数-分位数 图像):

调用qqnorm(x)得:

R语言中如何去掉向量内的空格 r语言去掉向量中的元素_正态分布_09

qqnorm(),qqline()
(1) 可用于判断是否正态分布
(2) 直线的斜率是标准差,截距是均值
(3) 点的散布越接近直线,则越接近正态分布

qqplot()

用于判断x,y是否符合线性关系。