欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA、GEO数据挖掘。 tidyr总结篇 gather(data,key="",value="") ## key是变量,value是值 gather的意义是重新塑造数据的变量,原有数据的变量并不是真正的变量 这时候变量不是变量,变量还是变量。
举例说明: 神奇的gather参数1:data 参数2:key变量名,参数3:value变量名 参数4:gather的变量指定 其中-表示除外某向量,全部gather
stocks <- tibble( time = as.Date('2009-01-01') + 0:9, X = rnorm(10, 0, 1), Y = rnorm(10, 0, 2), Z = rnorm(10, 0, 4) ) stocks ## gather起stocks中的,X,Y,Z. 新命名一个key,命名一个value, 除去time不变化 gather(stocks, stock, price, -time) stocks %>% gather(stock, price, -time)##保留time不变化
## mini_iris <- iris[c(1, 51, 101), ] mini_iris gather(mini_iris,key = "flower_att",value = "value",Sepal.Length, Sepal.Width, Petal.Length, Petal.Width)
gather(mini_iris,key = "flower_att",value = "value",Sepal.Length:Petal.Width) ## -表示不gather的变量 gather(mini_iris,key = "flow_att",value = "value",-Species)
## 省略掉key, value gather(mini_iris,flow_att,value,-Species)##得到的结果相同
在管道中演示一套
library(dplyr) mini_iris <- iris %>% group_by(Species) %>% slice(1) mini_iris %>% gather(key = flower_att, value = measurement, -Species)
by_cyl <- group_by(mtcars, cyl) slice(by_cyl, 1:2)
|