全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2326 0
2019-08-08
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。常被用于统计学、计量分析等领域。接下来讲一下我个人认为的R入门知识。
目录1 数据结构

1.1 向量

1.2 矩阵

1.3 数据框

2 生成数据

2.1 c() 连接单个数据

2.2 ":" 生成1/-1等差向量

2.3 seq() 生成等距向量

2.4 rep() 生成重复数据

3 数据引用

3.1 引用行/引用列

3.2 引用单个元素

3.3 引用子矩阵

3.4 变量名引用

4 读取外部数据(表)

4.1 更改工作目录

4.2 read.table

4.3 read.csv




正文


1 数据结构


本节主要讲向量、矩阵、数据框三种数据结构(入门必须学)

1.1 向量


用于存储数值型、字符型或逻辑型数据的一维数组,常用"c()"创建。例如:

> c(1,2,8)#生成包含1,2,8的一维数组(向量)[1] 1 2 8

1.2 矩阵


二维数组具有行列的概念
复制代码

1.3 数据框


主要用于向量/矩阵合并,可以将不通类型的以向量以及矩阵,按照一定结构存储在数据框中。
复制代码

数组与矩阵类似,但其维度大于2.由于R入门基本接触不到3维以上数组的概念,目前暂不展开,等入门后在反过来看。

2 生成数据


本节主要讲“c()”、":"、seq、rep等四种数据生成的内容(入门必须学)


2.1 “c”  连接单个数据



> c(1,2,8)#生成包含1,2,8的向量

2.2 “:“ 生成1/-1等差向量



> 1.1:10[1] 1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1> 1:10 [1]  1  2  3  4  5  6  7  8  9 10> 10:1 #如x=1:10(递减,如y=10:1) [1] 10  9  8  7  6  5  4  3  2  1

2.3 seq 生成等距向量


①seq(起点,终点,步长);
②seq(length=9, from=1, to=5)

> seq(1,10,2)[1] 1 3 5 7 9> seq(length=5,1,10)[1]  1.00  3.25  5.50  7.75 10.00
#seq(x)相当于1:length(x);length(x)为0时,返回integer(0)> seq(10) [1]  1  2  3  4  5  6  7  8  9 10> seq(c())integer(0)

2.4 rep(x,n)   重复


将x重复n次,可使用each限定为依次重复形式

rep(1:3,3)rep(1:3,each=3)
#> rep(1:3,3)#[1] 1 2 3 1 2 3 1 2 3#> rep(1:3,each = 3)#[1] 1 1 1 2 2 2 3 3 3额外补充:R语言|第2讲:生成数据


3 数据引用(以矩阵为例)


数据引用必须懂“对指定维度数据的引用”(以二维矩阵为例)

3.1 行引用/列引用


例如:引用第一行数据,引用第一列数据,引用第一行第一列的数据。

> data(iris) #鸢尾花数据集> dim(iris) #读取iris数据集的维度数值,以“行数 列数 ”形式展示[1] 150   5   #说明iris数据集是150 x 5的二维数组

3.2 行列值引用:数据集[行值,列值]


如行值或列值仅1个数字,表示仅引用该行或列的数据

> iris[1,]  #引用第1行数据  Sepal.Length Sepal.Width Petal.Length Petal.Width Species1          5.1         3.5          1.4         0.2  setosa
> head(iris[,1],5) #引用第1列的数据,其中因数据过长,使用head()函数取前5个数字[1] 5.1 4.9 4.7 4.6 5.0

3.3 引用子矩阵


如行值或列值为组合数据,则表示引用组合行列交叉位置的数据

> iris[1:5,1:3]  Sepal.Length Sepal.Width Petal.Length1          5.1         3.5          1.42          4.9         3.0          1.43          4.7         3.2          1.34          4.6         3.1          1.55          5.0         3.6          1.4

3.4 变量名引用


(多用于二维数组中):数据集$变量名

> head(iris$Petal.Length,5)[1] 1.4 1.4 1.3 1.5 1.4

4 读取外部数据(以.csv表为例)


本节主要讲如何读取外部数据(表)

(以.csv表为例)


4.1 设置工作目录


R语言中数据的输入需要设置数据读取的路径,一般将数据文件放到工作目录下,这样直接就可以通过read.table等读取数据文档(不许要设置路径)。

方法一:setwd()setwd("E:/")  #设置当前工作目录为"E:/"getwd()  #读取当前工作空间的工作目录(文件读取保存路径)

> getwd()  #读取当前工作空间的工作目录(文件读取保存路径)[1] "C:/Users/ysl/Documents"> setwd("E:/") #设置当前工作目录为"E:/"> getwd() #再次使用getwd()函数即可查看是否设置成功[1] "E:/"
方法二:通过R-gui菜单栏设置(文件-改变工作目录)
aaa.PNG

4.2 read.table()


#读取带分隔符的文本文件。read.table()函数是R最基本函数之一,读取带分隔符的文本/表格文件。
复制代码

常用参数的说明如下:(1)file:file是一个带分隔符的ASCII文本文件。①绝对路径或者相对路径。一定要注意,在R语言中\是转义符,所以路径分隔符需要写成"\\"或者“/”。所以写成“C:\\myfile\\myfile.txt”或者“C:/myfile/myfile.txt”即可。②使用file.choose(),弹出对话框,自动选择文件位置。例如:read.table(file.choose(),...)。
(2)header:一个表示文件是否在第一行包含了变量的逻辑型变量。如果header设置为TRUE,则要求第一行要比数据列的数量少一列。
(3)sep分开数据的分隔符。默认sep=""read.table()函数可以将1个或多个空格、tab制表符、换行符或回车符作为分隔符。常见空白分隔符有:空格,制表符,换行符

sep=” ”;sep = “\t”;sep = “\n”
(4)stringsAsFactors 逻辑值,标记字符向量是否需要转化为因子,默认是TRUE。stringsAsFactors = F意味着,“在读入数据时,遇到字符串之后,不将其转换为factors,仍然保留为字符串格式”。
(5)encoding 设定输入字符串的编码方式。




4.3 read.csv()  


#读取.csv格式数据,read.table的一种特定应用。read.csv() 读取逗号分割数据文件,read.table()的一种特定应用。默认逗号分割,header=T,stringsAsFactor = T

df <- read.csv("data.csv") #等价与下df <- read.table("data.csv",header = T,sep=",",stringsAsFactor = T)df <- read.table("data.csv",header = T,sep=",",stringsAsFactor = T)#第一行和第二行等价
read.csv(file, header = TRUE, sep = ",", quote = "\"", dec = ".", fill = TRUE, comment.char = "", ...)







喜欢你就转发一下吧


【推荐书籍】

公众号底部贴片二维码_自定义px_2019.06.11.png


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群