gather spread 使用

data("mtcars")
library(tidyverse)
mtcars %>%
  spread(am,mpg) ->mtcars_wide %>%
  gather(key=variable, value,-c(cyl,disp,hp))

# gather(data, key, value, …, na.rm = FALSE, convert = FALSE)
# data:需要被转换的宽形表
# key:将原数据框中的所有列赋给一个新变量key
# value:将原数据框中的所有值赋给一个新变量value
# …:可以指定哪些列聚到同一列中
#
# spread(data, key, value, fill = NA, convert = FALSE, drop = TRUE)
# data:为需要转换的长形表
# key:需要将变量值拓展为字段的变量
# value:需要分散的值
# fill:对于缺失值,可将fill的值赋值给被转型后的缺失值
#
# unite(data, col, …, sep = “_”, remove = TRUE)
# data:为数据框
# col:被组合的新列名称
# …:指定哪些列需要被组合
# sep:组合列之间的连接符,默认为下划线
# remove:是否删除被组合的列

unite(mtcars_wide,testname, disp, hp, sep= "-") ->mtcars_wide


# separate()函数可将一列拆分为多列,一般可用于日志数据或日期时间型数据的拆分,语法如下:
#
# separate(data, col, into, sep = “[^[:alnum:]]+”, remove = TRUE,
#          convert = FALSE, extra = “warn”, fill = “warn”, …)
# data:为数据框
# col:需要被拆分的列
# into:新建的列名,为字符串向量
# sep:被拆分列的分隔符
# remove:是否删除被分割的列

separate(mtcars_wide, testname,c("disp","hp"), sep = "-")


评论

此博客中的热门博文

V2ray websocket(ws)+tls+nginx分流

Rstudio 使用代理