学习小组Day6笔记-姜洪利

作者: 姜洪利_d076 | 来源:发表于2018-12-22 23:58 被阅读30次

    一、Reshape Data

    gather()spread()是一对互补命令。

    gather()把多列合并成新的两列,一列“”和一列“”,“”的名,需要自己定义,"”的值是合并前的列的名字的向量,“”的名,需要自己定义,“”的值是合并前的列的值的向量。而spread()是一个反向的操作。

    library(nycflights13)
    smallfights <- flights[1:10, -(1:10)] 
    a <- gather(smallflights, key = "dest_air_time", value = "non", dest, air_time) #字符串和数值也可以合并
    str(a)
    b <- spread(a, dest_air_time, non)
    str(b) #注意,此时的air_time已经变成chr,非之前的num了。
    

    二、Split Cells

    separate()/separate_rows()unite()是一对互补命令,他们与gather() spread()的区别是,前者是对列内的单元格进行分解和合并,分解需要分隔符,如无分隔符,将产生NA数据。

    d <- unite(smallfights, dest_air_time, dest, air_time) #不加其他参数
    (e <- separate(d, dest_air_time, into = c("dest", "air_time")))
    
    d <- unite(smallfights, dest_air_time, dest, air_time, sep = "") #无分隔符
    (e <- separate(d, dest_air_time, into = c("dest", "air_time"))) #产生了NA值
    (diff_d <- (unite(e, dest_air_time, dest, air_time)))
    
    f <- spread(d, hour, minute) #两组命令的比较
    (g <- gather(spread(d, hour, minute), key = "hour", value = "minute","5","6"))
    (h <- gather(spread(d, hour, minute), key = "hour", value = "minute","5","6", na.rm = T))
    

    三、Handle Missing Values

    有三个函数,drop.na(), fill(), replace_na(),分别是删除空值,根据上一行的值填充空值,特定值填充空值。

    X <- read.csv("doudou.csv")
    X[4,1] <- NA
    drop_na(X)
    drop_na(X, X1)
    drop_na(X, X2)
    fill(X, X2)
    replace_na(X, list(X1 = 2))
    replace_na(X, list(X2 = 2))
    replace_na(X, list(X1 = "A"))
    replace_na(X, X1 = 2)
    

    四、Expand Tables

    快速生成表格,两者区别在于,complete函数不减少变量数量,通过data后面的参数(可为1-lenth()个)的组合或者nesting设置的组合,产生了新的没有出现的排列,参数里的变量已经赋值,但参数以外的值都设定为NA,fill可以对其赋值。而expand函数生成的数据的变量数目依赖于函数里变量的数量,且新产生的观测值的所有值不为NA。

    complete(X, netsting(X1), fill = list(X1 = "A", X2 = 5))
    pin2<-data.frame(GeneId = rep("gene5", times=3), SampleName = paste("Sample",1:3, sep=""), Expression = c(14,19,18))
    (expand(pin2, GeneId, SampleName, Expression))
    

    相关文章

      网友评论

        本文标题:学习小组Day6笔记-姜洪利

        本文链接:https://www.haomeiwen.com/subject/ktvwkqtx.html