有天想爬下拉勾的数据看看。而恰恰又在阿里买了9块9一个月的服务器(其实不咋样,安装R的一个包时就死机了),好像不爬下都对不起这个价格。朋友说先直接在网上搜搜看看有没有现成的,结果就看到了别人用R和rvest去抓拉勾的数据。而之前恰恰买过《R语言实用数据分析和可视化技术》,所以今天就重记录一下学的一些R的基本知识,也好缓解缓解天天背单词的蛋疼生活。
安装依赖
1 | install.packages("rvest") #安装 |
R语言基础
- 基础之基础
- 基本的加减乘除,赋值可以用
<-
,或assign("s",55)
- 删除变量直接
rm(变量名)
- 判断什么类型:
is.numeric(x) is.logical(k)
- 日期
data <- as.Date("2016-03-03")
- 缺失数据用
NA
代替 - 向量什么的可以直接加减乘除
- 字符数据
t <- "data"
和t <- factor("data")
是不一样的
- 数据框
对于数据框可以通过
ncol(DF)
,nrow(DF)
,dim(DF)
分别得到列数,行数,和行列数。names(DF)
得到数据框的列名names(DF)[1]
得到第一个元素rownames(DF)
查看指定数据框的行名字head(DF , n = 8) 显示前面多少行的DF,也可以用
tail`
列表框的每一列都是一个独立的向量,即每一列都有自己的类
- 列表
list(1,2,3,4)
list(DF,1:10)
(emptylist <- vector(mode = "list", length =4 ))
用vector创建一个具有一定长度的空列表
- 矩阵和数组
A <- matrix(1:10, nrow = 5)
colname(A), dim(A), ncol(A), nrow(A)
B <- array(1:11, dim = c(2,3,2)
- 导入数据 (还可以直接读网络上的数据)
导入CSV(Excel数据要转换成CSV才能导入)
1
2url <- "test.csv"
t <- read.table(file = url, header = TRUE, sep = "," )导入数据库
1
2
3
4require(RODBC);
db <- odbcConnect("mysql_data", uid="root", pwd="123");
sqlTables(channel) #查看数据中的表
data<-sqlFetch(channel,"kk")- 导入其他数据格式SPSS(
read.spss
),Stata(read.dta
), SAS(read.ssd
), Octave(read.octave
), Minitab(read.mtp
), Systat(read.systat
)
- 抓取数据
- XML
1
2
3require(XML)
URL <- "http://baidu.com"
biubiu <- readHTMLTable(URL,which = 1, header = FALSE, stringsAsFactors = FALSE) - rvest
直接来看看这个吧rvest 主要的东西还是要看Demo和官网的doc现在的t <- html(url)已经不用的,转变为 t <- read_html(url)
后记
- 想要获得一份好的数据,就要先学爬数据,然而数据的获取方式不止有爬虫,还有通过API来获取,甚至Excel自带的数据导入自网站用起来也不错
- 一份好的数据同样需要好的可视化技术才能看的出来
- 想起来《数据之美》里面讲的不要太盲目相信数据,这是对的,就像人类制作超高精度的仪器,超高精度的仪器去制作高精度的,高精度的去制作普通经度的。
- 数据对我,有很大的吸引力,很想从中一窥究竟。但是现在觉得更多的是通过数据训练出一个模型,然后再去分析。
- 刚才看了厉哥的《我听过最好的评价》,写的真是很厉害啊,对于我现在这个时常迷茫的人大有帮助,谢谢。