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)
网友评论