R 语言学习笔记 —— bigmomery使用
来源:互联网 发布:chrome linux 32 编辑:程序博客网 时间:2024/06/06 05:09
R语言处理 1G~10G 的数据可以选择使用 bigmemory,超过 10G 可以考虑 RHadoop
1:安装bigmemory
>install.packages('bigmemory')
2:bigmemory的基本使用
1)初始化一个big.matrix对象://nrow:行数 ncol:列数 type:数据类型(矩阵所有数据类型必须是一样的) init:初始化数据 //dinnames:list对象(两列),第一列表述行标识,第二列表示列标识 backingfile:备份数据 descriptorfile:描述文件> bigData <- big.matrix(nrow=10, ncol=4, type='integer', init=2, dimnames=list(1:10,c('c1','c2', 'c3', 'c4')), backingfile='bigData.bin', descriptorfile='bigData.desc')> bigData[1:10] c1 c2 c3 c41 2 2 2 22 2 2 2 23 2 2 2 24 2 2 2 25 2 2 2 26 2 2 2 27 2 2 2 28 2 2 2 29 2 2 2 210 2 2 2 22)加载存储的大数据对象> loadBigData <- attach.big.matrix('bigData.desc')> loadBigData[1:10] c1 c2 c3 c41 2 2 2 22 2 2 2 23 2 2 2 24 2 2 2 25 2 2 2 26 2 2 2 27 2 2 2 28 2 2 2 29 2 2 2 210 2 2 2 23)修改bigdata的数据> loadBigData[,1] <- sample(1:10)> loadBigData[,2] <- sample(1:10)> loadBigData[,3] <- sample(1:10)> loadBigData[,4] <- sample(1:4, 10, replace = TRUE)> loadBigData[1:10] c1 c2 c3 c41 5 1 5 22 9 8 6 43 7 2 3 14 2 10 8 25 3 6 1 36 4 5 4 27 10 3 7 28 6 7 10 39 8 9 2 310 1 4 9 4> flush(loadBigData)> loadBigData[1:10] c1 c2 c3 c41 5 1 5 22 9 8 6 43 7 2 3 14 2 10 8 25 3 6 1 36 4 5 4 27 10 3 7 28 6 7 10 39 8 9 2 310 1 4 9 44)对数据排序#对第一列扩展排序> loadBigData[morder(loadBigData,1), ] c1 c2 c3 c410 1 4 9 44 2 10 8 25 3 6 1 36 4 5 4 21 5 1 5 28 6 7 10 33 7 2 3 19 8 9 2 32 9 8 6 47 10 3 7 2#对第一第二列扩展排序> loadBigData[morder(loadBigData,c(1,2)), ] c1 c2 c3 c410 1 4 9 44 2 10 8 25 3 6 1 36 4 5 4 21 5 1 5 28 6 7 10 33 7 2 3 19 8 9 2 32 9 8 6 47 10 3 7 2#修改backingfile的排序方法> mpermute(loadBigData, cols=1)> loadBigData <- attach.big.matrix('bigData.desc')> loadBigData[1:10] c1 c2 c3 c41 1 4 9 42 2 10 8 23 3 6 1 34 4 5 4 25 5 1 5 26 6 7 10 37 7 2 3 18 8 9 2 39 9 8 6 410 10 3 7
3:bigmemory 的进一步使用:
#产生一个200行2列的big.matrix, 奇数行200个位置放服从标准正态分布的随机数,偶数行200个位置,放服从期望位5,方差为4的正态分布随机数> x <- big.matrix(200, 2, init=0, type='double')> x[seq(1, by=2, length.out=100),] <- rnorm(200)> x[seq(2, by=2, length.out=100),] <- rnorm(200, 5, 4)> x[1:10] [,1] [,2] [1,] -2.3612342 -0.40590074 [2,] 5.0872598 3.65760201 [3,] -0.5798214 0.19065188 [4,] 10.2198005 10.08644807 [5,] -0.9958245 0.34871651 [6,] 7.6601779 1.16410284 [7,] -0.2727439 0.59410373 [8,] 12.4994794 5.08297463 [9,] 1.0329725 -0.05559646[10,] 2.1791001 1.49228510
0 0
- R 语言学习笔记 —— bigmomery使用
- R语言学习笔记——R语言绘图
- R语言学习笔记——基础
- R语言学习笔记——1
- R语言学习笔记——函数
- R语言学习笔记—删除对象
- R学习笔记——RMySQL使用
- R语言学习笔记
- R语言学习笔记
- R语言学习笔记
- R语言学习笔记
- R语言学习笔记 .
- R语言学习笔记
- R语言学习笔记
- R语言学习笔记
- R语言学习笔记
- R语言学习笔记
- R语言学习笔记
- 静态变量
- axis和xfire以及CXF三种方式实现WebServices分别有什么优缺
- axis和xfire以及CXF三种方式实现WebServices分别有什么优缺
- poj3254(状态压缩)
- Bash . configure permission denied错误
- R 语言学习笔记 —— bigmomery使用
- java判断一个字符串在另一个字符串里的个数
- Android - Activity的生存期
- 广播接收器—Broadcast Receiver(二)
- 项目三。时间类
- android 屏幕自适应
- 小豆机器人xiao.douqq.com接口api发布
- 如何使用unix网络编程第三版的源码
- PAT Basic Level 1015. 德才论(25)