学习小组Day6--Bossa

R语言的包和数据处理

学习小组Day6--Bossa_第1张图片
1.png

本期课程补充一点:
列名为数字的,data.frame会在前面添加一个”X“,这个是由于R1.90版本之前的不支持,如果觉得难看需要去掉可以添加check_names=F即可。不过不推荐列名为数字,在引用中需要频繁的加引号注明字符。

再更正一点:
** complete并不是填空行的命令!!!**
它有fill=list()的选项可以把某一列的空值填上,但是这个命令主要是两两组合数字,发现空值。这个主要用于算两两间的相关系数中会用到。

比如我有一组这样的数据
> c
  a b  va
1 a e 0.1
2 b f 0.5
3 c g 0.9
不是用cor得到而是自己有一些相关性数据

这之后用下面这个命令
> complete(c,a,b)
# A tibble: 9 x 3
  a     b        va
    
1 a     e       0.1
2 a     f      NA  
3 a     g      NA  
4 b     e      NA  
5 b     f       0.5
6 b     g      NA  
7 c     e      NA  
8 c     f      NA  
9 c     g       0.9
比如,NA就是无相关,这时候填充:
> complete(c,a,b,fill=list(va=0))
# A tibble: 9 x 3
  a     b        va
    
1 a     e       0.1
2 a     f       0  
3 a     g       0  
4 b     e       0  
5 b     f       0.5
6 b     g       0  
7 c     e       0  
8 c     f       0  
9 c     g       0.9

=-=

准备工作

下载对应cheatsheet

tidyr是一个数据处理的基本的包,install.packages("tidyr") 安装tidyr包

数据框

可以直接用data.frame定义,也可以通过read.csv获得

Tidy Data

变量一列,key一列,value一列

tidyr包

Reshape data

  1. gather()
    把数据由数据框变为Tidy data
    gather(data,keys,key_name,value_name)

  2. spread()
    把Tidy data还原
    spread(data,key_column,value_column)

处理缺失数据

处理方式

  1. 删除整行
    drop_na(data,col)
  2. 根据上下文填一个数
    fill(data,col)
  3. 同一列空值填一个数
    replace_na(data,list(col=2))

Expand Tables

  1. 组合两列的数,并可以设置空值补全
    complete(data, fill=list())

  2. 列出每列值所有可能的组合
    expand(data,x1,x2)

你可能感兴趣的:(学习小组Day6--Bossa)