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

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.随机抽样【未完待续】

    原文作者:Liping7
    原文地址: https://www.jianshu.com/p/cb5b55e61920
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞