为什么“长”数据帧比“宽”数据帧占用更多的内存?

时间:2019-05-03 00:19:32

标签: r dataframe tidyr

我发现,当我将数据帧从宽到长转换时,它将占用更多的内存!我很好奇为什么会这样?它是否必须做最大尺寸的事情?

在下面重新表达


library(tidyr)


nms <- c('uid', paste('cid', 1:1000))

df <- 
  cbind(1:1000, replicate(1000, rnorm(1000)))

colnames(df) <- nms

df <- as.data.frame(df)

pryr::object_size(df)
#> 8.13 MB

df %>% 
  gather('cid', 'value', -uid) %>% 
  pryr::object_size()
#> 24.1 MB

0 个答案:

没有答案