melt reshape decast 长数据短数据 长短转化 数据清洗 行列转化

melt reshape decast 长数据短数据 长短转化 数据清洗 行列转化

# examples from 'tidyr' package

library(tidyr)
library(reshape2)

stocks = data.frame(
  time = as.Date('2009-01-01') + 0:9,
  X = rnorm(10, 0, 1),
  Y = rnorm(10, 0, 2),
  Z = rnorm(10, 0, 4)
)
head(stocks)

melt reshape decast 长数据短数据 长短转化 数据清洗 行列转化_第1张图片

stocksm = stocks %>%
  melt(id.vars = "time", variable.name = "stock", value.name = "price")
head(stocksm)
table(stocksm$stock)

melt reshape decast 长数据短数据 长短转化 数据清洗 行列转化_第2张图片

stocksm %>% dcast(time ~ stock)

melt reshape decast 长数据短数据 长短转化 数据清洗 行列转化_第3张图片

stocksm %>% dcast(stock ~ time)

melt reshape decast 长数据短数据 长短转化 数据清洗 行列转化_第4张图片

# dcast and melt are complements
df = data.frame(x = c("a", "b"), y = c(3, 4), z = c(5, 6))

melt reshape decast 长数据短数据 长短转化 数据清洗 行列转化_第5张图片

df %>%
  dcast(z ~ x, value.var = "y") %>%
  melt(id.vars = "z", variable.name = "x", value.name = "y", na.rm = TRUE)
# }

melt reshape decast 长数据短数据 长短转化 数据清洗 行列转化_第6张图片

melt reshape decast 长数据短数据 长短转化 数据清洗 行列转化_第7张图片

melt reshape decast 长数据短数据 长短转化 数据清洗 行列转化_第8张图片
melt reshape decast 长数据短数据 长短转化 数据清洗 行列转化_第9张图片

你可能感兴趣的:(笔记,r语言)