🥷
🥷
文章目录
  1. 安装依赖
  2. R语言基础
  3. 后记

R语言基础使用

有天想爬下拉勾的数据看看。而恰恰又在阿里买了9块9一个月的服务器(其实不咋样,安装R的一个包时就死机了),好像不爬下都对不起这个价格。朋友说先直接在网上搜搜看看有没有现成的,结果就看到了别人用R和rvest去抓拉勾的数据。而之前恰恰买过《R语言实用数据分析和可视化技术》,所以今天就重记录一下学的一些R的基本知识,也好缓解缓解天天背单词的蛋疼生活。

安装依赖

1
2
3
install.packages("rvest")           #安装
require(rvest) 或 library(rvest) #加载,好像还有一个是用supremessage
detach("package:rvest") #卸载

R语言基础

  1. 基础之基础
  • 基本的加减乘除,赋值可以用 <- ,或assign("s",55)
  • 删除变量直接rm(变量名)
  • 判断什么类型:is.numeric(x) is.logical(k)
  • 日期data <- as.Date("2016-03-03")
  • 缺失数据用NA代替
  • 向量什么的可以直接加减乘除
  • 字符数据 t <- "data"t <- factor("data")是不一样的
  1. 数据框

dataframe
对于数据框可以通过

  • ncol(DF), nrow(DF),dim(DF)分别得到列数,行数,和行列数。
  • names(DF)得到数据框的列名
  • names(DF)[1] 得到第一个元素
  • rownames(DF)查看指定数据框的行名字
  • head(DF , n = 8) 显示前面多少行的DF,也可以用tail`

dataframe2
列表框的每一列都是一个独立的向量,即每一列都有自己的类

  1. 列表
  • list(1,2,3,4)
  • list(DF,1:10)
  • (emptylist <- vector(mode = "list", length =4 )) 用vector创建一个具有一定长度的空列表
  1. 矩阵和数组
  • A <- matrix(1:10, nrow = 5)
  • colname(A), dim(A), ncol(A), nrow(A)
  • B <- array(1:11, dim = c(2,3,2)
  1. 导入数据 (还可以直接读网络上的数据)
  • 导入CSV(Excel数据要转换成CSV才能导入)

    1
    2
    url <- "test.csv"    
    t <- read.table(file = url, header = TRUE, sep = "," )
  • 导入数据库

    1
    2
    3
    4
    require(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)
  1. 抓取数据
  • XML
    1
    2
    3
    require(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自带的数据导入自网站用起来也不错
  • 一份好的数据同样需要好的可视化技术才能看的出来
  • 想起来《数据之美》里面讲的不要太盲目相信数据,这是对的,就像人类制作超高精度的仪器,超高精度的仪器去制作高精度的,高精度的去制作普通经度的。
  • 数据对我,有很大的吸引力,很想从中一窥究竟。但是现在觉得更多的是通过数据训练出一个模型,然后再去分析。
  • 刚才看了厉哥的《我听过最好的评价》,写的真是很厉害啊,对于我现在这个时常迷茫的人大有帮助,谢谢。