有段时间没用R了,最近打算回顾一下黄天元大佬写的《R语言数据高效处理指南》,把其中处理数据常用的地方温习一下、结合自己的思考做做笔记。

出于版权保护的考虑,书里更加精彩的部分如数据可视化、文本挖掘、爬虫和机器学习的部分就不放在这里了。

另外在这里发一下黄天元老师的微信公众号,他目前知乎刷的飞起,希望公众号也能有爷关更的一天。

第一章 R语言基础

基本数据类型(Basic data types)

numeric, logic, character and factor

a = 12345
a
mode(a)

b = F
b
mode(b)

text = "Hope of city"
text
mode(text)

male = as.factor('男') # special in R, for more efficiency to store data.
male
mode(male)
is.factor(male)
male1 = as.character(male)
male1
mode(male1)

array, list, data frame

array

一阶张量为向量vector

new.vector = c(1,2,3)
new.vector
character.vector = c('a','b','c')
character.vector
class(new.vector)
class(character.vector)

二阶张量为矩阵

matrix.1 = matrix(c(1,2,3,4,5,6), nrow = 2)
matrix.1

三阶以上张量为多维数组,图像数据为三维数组,视频数据为四维数组。

array3 = array(1:27, c(3,3,3))
array3

list

kind of vector, but contains different data types.

mix.list = list(new.vector, matrix.1)
mix.list

data frame

head(iris) # 看数据前几行
str(iris) # 看数据结构

Code Structure

Sequential structure

a = 1; b = 2; c = 3
ab = a + b
abc = ab + c
abc

Branch structure

p = 3
if (p < 4) print('p < 4') else print('p > 4')

Loop structure

for (i in 1:3){
  print(i)
}

i = 0
while(i<=3){
  i = i + 1
  print(i)
}

function

squared_sum = function(x,y){
  x^2 + y^2
}
squared_sum(3,4)

数据处理基本范式

接下来,数据处理从以下基本范式去实践:创建和删除、检索、插入、排序、过滤、汇总、分组、连接。