共计 2081 个字符,预计需要花费 6 分钟才能阅读完成。
摘要:明天的笔记内容是 R 语言中 数据 创立、随机主动生成、查看、转化相干基础知识。包含 cbind、rbind、rnorm、runif、rep、dim、apply、str 等的用法。
R 语言数据处理根底笔记
创立数据
-
正态分布
随机正态分布数据能够用rnorm
函数生成,上面生成 8 个随机数值,平均值为 1,标准差为 2> rnorm(8,mean=1,sd=2) [1] 1.2431291 1.9648432 -2.4450025 -0.7330347 [5] 3.2119733 2.3628804 0.7375560 4.6286765
-
均匀分布
利用runif
函数生成 4 个随机数,遵从最小值为 3,最大值为 5 的均匀分布。> runif(4,min = 3,max = 5) [1] 3.627561 4.834160 4.783988 3.289960
- 生成反复值
rep
函数生成反复值,上面为将 1 反复 3 次。
> rep(1,3)
[1] 1 1 1
一个简略实例数据
R 语言中 1:20
示意生成从 1 到 20 的数字内容,dim
示意数据框的维度。上面生成一个五行四列的矩阵。
> a <- 1:20
> dim(a) <- c(5,4) #设置 a 为 5 行 4 列
> a
[,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
letters
示意从 a 顺次生成小写字母,LETTERS
示意顺次生成大写字母,利用 colnames
和rownames
对矩阵的列名和行名进行批改。
> colnames(a) <- letters[1:4] #列名
> a
a b c d
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
> rownames(a) <- LETTERS[1:5] #行名
> a
a b c d
A 1 6 11 16
B 2 7 12 17
C 3 8 13 18
D 4 9 14 19
E 5 10 15 20
查看刚刚创立数据的 最大值、最小值、行数、列数:
> max(a)
[1] 20
> min(a)
[1] 1
> nrow(a) #行数
[1] 5
> ncol(a) #列数
[1] 4
apply
示意对数据按每一行(1)或者每一列(2)进行操作,计算每一列的 方差、中值偏差、均值:
> apply(a,1,var) #对 a 的每一行计算方差
[1] 41.66667 41.66667 41.66667 41.66667 41.66667
> apply(a,1,mad) #对 a 的每一行计算中值差
[1] 7.413 7.413 7.413 7.413 7.413
> apply(a,2,mean) #对 a 的每一列计算平均值
[1] 3 8 13 18
对矩阵进行 转置 操作:
> expr = t(a) #t()示意转置
> expr
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
[3,] 11 12 13 14 15
[4,] 16 17 18 19 20
> str(expr) #str 函数是十分好的查看数据工具哈哈哈哈
int [1:4, 1:5] 1 6 11 16 2 7 12 17 3 8 ...
数据类型和转换
刚刚创立的数据为矩阵(matrix
)格局,能够应用 is.matrix(a)
来检测。
> is.matrix(a)
[1] TRUE
> is.vector(a)
[1] FALSE #不是向量,所以显示 FALSE
如果想把矩阵转化为数据框 data.frame
, 只须要应用as.data.frame()
命令。
> is.data.frame(a)
[1] FALSE
> is.data.frame(as.data.frame(a))
[1] TRUE
数据的合并与组合
在 Linux 中有 paste
和cat
命令能对表格(矩阵)依照行或者列进行合并(点击这里跳转浏览 ),R 语言中也有相似的命令cbind
和rbind
,接下来首先创立两个 2×2 的矩阵。
> a <- matrix(1:4,2,2)
> a
[,1] [,2]
[1,] 1 3
[2,] 2 4
> b <- matrix(5:8,2,2)
> b
[,1] [,2]
[1,] 5 7
[2,] 6 8
应用 cbind
将两局部数据按列合并,即左右两坨横着拼起来。
> cbind(a,b)
[,1] [,2] [,3] [,4]
[1,] 1 3 5 7
[2,] 2 4 6 8
应用 rbind
依照行进行合并,即高低两局部合在一起。
> rbind(a,b)
[,1] [,2]
[1,] 1 3
[2,] 2 4
[3,] 5 7
[4,] 6 8
数据的中心化和标准化
数据分析时,不同数据有不同的特色和掂量差别,须要对数值进行中心化(数据减去均值失去)和标准化(在中心化后除以标准差)。
R 语言中实用 scale
函数间接实现上述步骤,比方对 1,2,3
三个数进行解决,失去如下后果。
> scale(1:3)
[,1]
[1,] -1
[2,] 0
[3,] 1
attr(,"scaled:center")
[1] 2
attr(,"scaled:scale")
[1] 1
参考资料:
http://www.ehbio.com/Bioinfo_R_course/Rbasic.html#R_version
https://blog.csdn.net/qq_27586341/article/details/91365165
本文由 mdnice 多平台公布