美文网首页
R语言操纵“大数据”的基本语句

R语言操纵“大数据”的基本语句

作者: Liping7 | 来源:发表于2018-10-08 17:46 被阅读0次

    Excel能处理的数据是有上限的(2007版本是256列X1048576行)。如果遇到大型数据,例如APP运行后台的一些数据,excel是处理不了的。这个时候就需要用sql,R语言或者python来整理我们需要的数据。

    其实,传统的关系型数据库可以用sql来完成这些工作。如果你会写sql,那你可以直接在数据库平台上操作,导出自己需要的数据,如果不会,那就要求助于DBA。然而,DBA一般不太清楚数据分析师的需求,也没空理会数据分析师的需求(比如你要求他们按照A项排序后又按照B项排序),而且交流成本比较高……所以,数据分析师可以要求他们导出“全体”的数据库(或者自己连接数据库导出数据),然后自己来了解数据的结构和数据的类型,并进行简单筛选、排除、汇总工作。

    如果是分布式的数据库,那就需要用HSQL,Spark等其他工具技巧来获取数据。以后有机会再介绍吧。这里主要是介绍如何用R语言来对数据进行初步的了解。

    1.设置工作目录  

    了解当前目录:getwd()

    设置工作目录:setwd("F:/R语言工作目录")

    注意(1)斜杠的方向,(2)文件夹要先建好。

    默认目录一般都在C盘,因此最好在其他盘设置工作目录,将数据保存在其他硬盘,以免使C盘空间越来越小。如果你处理的是几十KB的数据,放在C盘无所谓,但如果处理几十MB的数据,反复操作你的工作目录可能越来越大。

    2.读取数据文件

    推荐CSV格式

    data1008  <- read.csv("kunming.csv",header=T)

    data1009  <- read.table("kunming.txt",header=F)

    其他参见 https://blog.csdn.net/tb3039450/article/details/52557200

    3.列命名

    names(data1008) <- c("MAC","frequ")

    名称不能超过列数

    4.数据描述

    head(data1008) //主要是查看数据导入过程是否除了差错

    str(data1008) //帮助你了解dataframe里面有的数据类型

    summary(data1008) //帮助你了解数据分布和缺失值

    5.数据类型转换

    data1008$MAC <- as.character(data1008$MAC)

    as.complex(x)

    as.numeric(x)或者as.double(x)

    as.integer(x)

    as.logical(x)

    as.date(X)

    说明:上述函数表示,对于每个基本的数据类型,都有一个函数用来把其它数据类型的值转换为自己数据类型。转换成功,则得到相应的结果;反之,则得到NA值。

    一般,字符型都会被默认为是factor,必然要转换成character才可以进行各种操作。

    【待补充,R语言数据类型】

    6.取某几列或某几行

    etimetrans <- data1008[,"ETIME"]

    data1008[1,3]   #data1008数据框的第1行第3列

    data1008[1:2]    #data1008数据框的1到2列

    data1008[c('age','status')]   #data1008数据框中的age和status列

    data1008$status     #patientdat数据框中的status列

    取某几行

    data1<-data1008[2:4,]

    data2<-data1008[10:16,]

    删除行

    A <- A[-1,] //删除第一行

    A <- A[,-2]//删除第二列

    mydf <- subset(mydf, select = -X ) //删除mydf数集中X这一列

    7.排序

    dataorder <- data1008[order(-data1008[,4]),]  //按照第4列排序

    data1008$ID  <- order(-data1008$res)  //按照res排序

    a[order(a$a1,-a$a2),] //先按照a1升序序,再按照a2降序

    8.用0替换缺失值

    data1008[is.na(data008)] <- 0

    9.插入几行

    data1<- data.frame(x1=runif(10),x2= runif(10),x3= runif(10))

    row<- c(1, 1, 1)

    data2 <- rbind(data1[1:5,], row, data1[6:nrow(data1), ])

    插入几列

    y<-1:4

    data1 <- data.frame(x1=c(1,3,5,7), x2=c(2,4,6,8),x3=c(11,12,13,14),x4=c(15,16,17,18))

    data2 <- cbind(data1[,1:2],y,data1[,3:ncol(data1)])

    10.筛选数据

    selectresult <- subset(df1,name=="aa") //选出符合某一条件的数据

    selectresult <- subset(df1,a>5) //选出符合某一条件的数据

    11.两组数据求交集【未完待续】

    非常重要。因为你经常需要合并或者关联两个表。

    key是两个表都要有的一列。

    x <- merge(a,b,by="key",all=FALSE)#内连接,两个表实现与的操作,只显示两个表都有的数值

    x <- merge(a,b,by="key",all=TRUE)#外连接,两个表实现并的操作,如果有个表的数值没有显示为空

    a <- merge(a,b,by="key",all.x=TRUE)#左连接

    a <- merge(a,b,by="key",all.y=TRUE)#右连接

    可以参考 https://www.jianshu.com/p/148a399b61d3

    12.数据汇总【未完待续】

    往往汇总后的数据才是数据分析师数据分析的起点。

    13.单列频次分布【未完待续】

    14.因变量和自变量作图【未完待续】

    15.随机抽样【未完待续】

    相关文章

      网友评论

          本文标题:R语言操纵“大数据”的基本语句

          本文链接:https://www.haomeiwen.com/subject/lshfwftx.html