我想使用facet_grid将一些条形图绘制在彼此之上:
library(ggplot2)
df <- group_by(mpg, manufacturer) %>%
summarise(cty = mean(cty), hwy = mean(hwy)) %>%
ungroup()
df <- melt(df, id.vars = "manufacturer")
ggplot() +
geom_bar(data =df, aes(x = variable, y = value), stat = "identity") +
facet_grid(manufacturer ~ ., switch = "y")
Run Code Online (Sandbox Code Playgroud)
我使用switch参数ggplot2::facet_grid()来让facet标签显示在y轴而不是每个facet的顶部.问题是刻面标签是垂直绘制的,因此会被裁剪.有没有办法水平绘制facet -labels?到目前为止,我发现的所有问题仅与旋转x轴标签有关,而不是与刻面标签有关.
R中是否有任何方法可以在通过write.csv或实际将其写入磁盘之前估算csv文件的文件大小readr::write_csv?如果用户意外地尝试在函数中将大文件写入磁盘,我想实施警告.
数据帧(object.size)的内存占用与磁盘上的大小之间似乎存在某种关系,后者相当大.但是,内存中的对象越大,差异越小.此外,可能存在与数据帧结构相关的差异.
我不想强迫人们下载大量数据,所以请原谅缺乏可重复的例子.
我有一个类似于以下结构生成的数据帧:
library(dplyr)
df1 <- expand.grid(region = c("USA", "EUR", "World"),
time = c(2000, 2005, 2010, 2015, 2020),
scenario = c("policy1", "policy2"),
variable = c("foo", "bar"))
df2 <- expand.grid(region = c("USA", "EUR", "World"),
time = seq(2000, 2020, 1),
scenario = c("policy1", "policy2"),
variable = c("foo", "bar"))
df2 <- filter(df2, !(time %in% c(2000, 2005, 2010, 2015, 2020)))
df1$value <- rnorm(dim(df1)[1], 1.5, 1)
df1[df1 < 0] <- NA
df2$value <- NA
df1[df1$region == "World" & df1$variable == "foo", "value"] <- NA
df <- rbind(df1, …Run Code Online (Sandbox Code Playgroud)