- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的原始数据框的一部分,它是调查数据。
structure(list(Ages = c(30L, 30L, 30L, 30L, 30L, 33L, 33L, 27L,
27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L,
27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L,
27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L,
27L, 27L, 27L, 27L, 28L, 28L, 25L, 25L, 25L, 25L, 25L, 25L, 25L,
25L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L,
29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 38L,
38L, 38L, NA, NA, NA, NA, 31L, 31L, 31L, 31L, 31L, 31L, 33L,
33L, 33L, 33L, 33L, 33L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L,
29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L,
29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L, 29L,
29L, 29L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L, 34L,
34L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L,
27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L, 36L, 36L,
36L, 36L, 28L, 28L, 28L, 28L, 28L, 28L, 28L, 28L, 28L, 28L, 32L,
32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L,
32L, 32L, 32L, 32L, 32L, 32L, 28L, 28L, 28L, 28L, 27L, 27L, 27L,
27L, 27L, 27L, 27L, 27L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L,
32L, 30L, 30L, 30L, 30L, 26L, 27L, 27L, 27L, 27L, 27L, 27L, 27L,
27L, 27L, 27L, 27L, 27L, 27L, 27L, 27L), value = c("Response Eight",
"Response Twelve", "Response Eleven", "Response Three", "Response Two",
"Response Seven", "Response Seven", "Response Eight", "Response Nine",
"Response Twelve", "Response Eleven", "Response Three", "Response Ten",
"Response Two", "Response One", "Response Four", "Response Five",
"Response Six", "Response Eight", "Response Nine", "Response Twelve",
"Response Eleven", "Response Three", "Response Ten", "Response Two",
"Response One", "Response Four", "Response Five", "Response Six",
"Response Eight", "Response Nine", "Response Twelve", "Response Eleven",
"Response Three", "Response Ten", "Response Two", "Response One",
"Response Four", "Response Five", "Response Six", "Response Eight",
"Response Nine", "Response Twelve", "Response Eleven", "Response Three",
"Response Ten", "Response Two", "Response One", "Response Four",
"Response Five", "Response Six", "Response Seven", "Response Seven",
"Response Three", "Response One", "Response Three", "Response One",
"Response Three", "Response One", "Response Three", "Response One",
"Response Twelve", "Response Three", "Response Twelve", "Response Three",
"Response Twelve", "Response Three", "Response Twelve", "Response Three",
"Response Twelve", "Response Three", "Response Twelve", "Response Three",
"Response Twelve", "Response Three", "Response Twelve", "Response Three",
"Response Twelve", "Response Three", "Response Twelve", "Response Three",
"Response Twelve", "Response Three", "Response Twelve", "Response Three",
"Response Seven", "Response Seven", "Response Seven", "Response Eight",
"Response Three", "Response Two", "Response One", "Response Ten",
"Response Two", "Response Ten", "Response Two", "Response Ten",
"Response Two", "Response Three", "Response One", "Response Three",
"Response One", "Response Three", "Response One", "Response Eight",
"Response Nine", "Response Three", "Response Ten", "Response Two",
"Response One", "Response Eight", "Response Nine", "Response Three",
"Response Ten", "Response Two", "Response One", "Response Eight",
"Response Nine", "Response Three", "Response Ten", "Response Two",
"Response One", "Response Eight", "Response Nine", "Response Three",
"Response Ten", "Response Two", "Response One", "Response Eight",
"Response Nine", "Response Three", "Response Ten", "Response Two",
"Response One", "Response Eight", "Response Nine", "Response Three",
"Response Ten", "Response Two", "Response One", "Response Eight",
"Response Three", "Response Ten", "Response Eight", "Response Three",
"Response Ten", "Response Eight", "Response Three", "Response Ten",
"Response Eight", "Response Three", "Response Ten", "Response Eight",
"Response Nine", "Response Three", "Response Two", "Response Six",
"Response Eight", "Response Nine", "Response Three", "Response Two",
"Response Six", "Response Eight", "Response Nine", "Response Three",
"Response Two", "Response Six", "Response Twelve", "Response One",
"Response Twelve", "Response One", "Response Twelve", "Response One",
"Response Twelve", "Response One", "Response Seven", "Response Seven",
"Response Seven", "Response Seven", "Response Eight", "Response Nine",
"Response Twelve", "Response Eleven", "Response Ten", "Response Two",
"Response One", "Response Four", "Response Five", "Response Six",
"Response Eight", "Response Nine", "Response Ten", "Response One",
"Response Eight", "Response Nine", "Response Ten", "Response One",
"Response Eight", "Response Nine", "Response Ten", "Response One",
"Response Eight", "Response Nine", "Response Ten", "Response One",
"Response Eight", "Response Nine", "Response Ten", "Response One",
"Response Seven", "Response Seven", "Response Seven", "Response Seven",
"Response Eight", "Response Nine", "Response Twelve", "Response Ten",
"Response Eight", "Response Nine", "Response Twelve", "Response Ten",
"Response Eight", "Response Three", "Response Ten", "Response Eight",
"Response Three", "Response Ten", "Response Eight", "Response Three",
"Response Ten", "Response One", "Response One", "Response One",
"Response One", "Response Seven", "Response Eight", "Response Twelve",
"Response Ten", "Response Eight", "Response Twelve", "Response Ten",
"Response Eight", "Response Twelve", "Response Ten", "Response Eight",
"Response Twelve", "Response Ten", "Response Eight", "Response Twelve",
"Response Ten"), n = c(3210L, 4658L, 1271L, 4453L, 2834L, 2526L,
2526L, 3210L, 4098L, 4658L, 1271L, 4453L, 2975L, 2834L, 3833L,
916L, 1221L, 1208L, 3210L, 4098L, 4658L, 1271L, 4453L, 2975L,
2834L, 3833L, 916L, 1221L, 1208L, 3210L, 4098L, 4658L, 1271L,
4453L, 2975L, 2834L, 3833L, 916L, 1221L, 1208L, 3210L, 4098L,
4658L, 1271L, 4453L, 2975L, 2834L, 3833L, 916L, 1221L, 1208L,
2526L, 2526L, 4453L, 3833L, 4453L, 3833L, 4453L, 3833L, 4453L,
3833L, 4658L, 4453L, 4658L, 4453L, 4658L, 4453L, 4658L, 4453L,
4658L, 4453L, 4658L, 4453L, 4658L, 4453L, 4658L, 4453L, 4658L,
4453L, 4658L, 4453L, 4658L, 4453L, 4658L, 4453L, 2526L, 2526L,
2526L, 3210L, 4453L, 2834L, 3833L, 2975L, 2834L, 2975L, 2834L,
2975L, 2834L, 4453L, 3833L, 4453L, 3833L, 4453L, 3833L, 3210L,
4098L, 4453L, 2975L, 2834L, 3833L, 3210L, 4098L, 4453L, 2975L,
2834L, 3833L, 3210L, 4098L, 4453L, 2975L, 2834L, 3833L, 3210L,
4098L, 4453L, 2975L, 2834L, 3833L, 3210L, 4098L, 4453L, 2975L,
2834L, 3833L, 3210L, 4098L, 4453L, 2975L, 2834L, 3833L, 3210L,
4453L, 2975L, 3210L, 4453L, 2975L, 3210L, 4453L, 2975L, 3210L,
4453L, 2975L, 3210L, 4098L, 4453L, 2834L, 1208L, 3210L, 4098L,
4453L, 2834L, 1208L, 3210L, 4098L, 4453L, 2834L, 1208L, 4658L,
3833L, 4658L, 3833L, 4658L, 3833L, 4658L, 3833L, 2526L, 2526L,
2526L, 2526L, 3210L, 4098L, 4658L, 1271L, 2975L, 2834L, 3833L,
916L, 1221L, 1208L, 3210L, 4098L, 2975L, 3833L, 3210L, 4098L,
2975L, 3833L, 3210L, 4098L, 2975L, 3833L, 3210L, 4098L, 2975L,
3833L, 3210L, 4098L, 2975L, 3833L, 2526L, 2526L, 2526L, 2526L,
3210L, 4098L, 4658L, 2975L, 3210L, 4098L, 4658L, 2975L, 3210L,
4453L, 2975L, 3210L, 4453L, 2975L, 3210L, 4453L, 2975L, 3833L,
3833L, 3833L, 3833L, 2526L, 3210L, 4658L, 2975L, 3210L, 4658L,
2975L, 3210L, 4658L, 2975L, 3210L, 4658L, 2975L, 3210L, 4658L,
2975L)), row.names = c(NA, -250L), class = c("tbl_df", "tbl",
"data.frame"))
然后我创建一个新的数据框,它是原始数据框中每个值/响应的中位年龄的自举置信区间。我使用推断包来创建 ci。这是数据框的代码和输出。
bootstrapped_ci_df <- data_frame_responses %>%
split(.$value) %>%
map_df(~.x %>%
specify(response = Ages) %>%
generate(reps = 1000, type = 'bootstrap') %>%
calculate(stat = 'median') %>%
get_ci(level = 0.99999), .id = 'value')
structure(list(value = c("Response One", "Response Two", "Response Three",
"Response Four", "Response Five", "Response Six", "Response Seven",
"Response Eight", "Response Nine", "Response Ten", "Response Eleven",
"Response Twelve"), lower_ci = c(28.5, 28, 29, 28, 30, 29, 31,
29, 28, 29, 28, 28), upper_ci = c(29, 29, 30, 29, 30.995005,
30, 31.5, 30, 29, 30, 29, 29)), row.names = c(NA, -12L), class = c("tbl_df",
"tbl", "data.frame"))
问题是当我使用 ggplot2 绘制图表时。
在第一种情况下,我可以创建一个看起来不错的图表。我将响应最多的值放在底部。
ggplot(data_frame_responses, aes(x = Ages, fill = fct_reorder(value, n))) +
geom_histogram() +
facet_wrap(~ fct_reorder(value, n)) +
theme(legend.position="none") +
labs(title = "Title") +
labs(subtitle = "Subtitle") +
theme(plot.title = element_text(hjust = 0.5, face = "bold")) +
theme(plot.subtitle = element_text(hjust = 0.5))
我还可以在数据框上映射置信区间,这看起来也不错。
ggplot(data_frame_responses, aes(x = Ages, fill = value)) +
geom_histogram() +
facet_wrap(~value) +
theme(legend.position="none") +
labs(title = "Title") +
labs(subtitle = "Subtitle") +
geom_vline(mapping = aes(xintercept = lower_ci), bootstrapped_ci_df, linetype = 'dashed') +
geom_vline(mapping = aes(xintercept = upper_ci), bootstrapped_ci_df, linetype = 'dashed') +
labs(caption = "dashed lines = bootstrapped confidence interval for median") +
theme(plot.title = element_text(hjust = 0.5, face = "bold")) +
theme(plot.subtitle = element_text(hjust = 0.5))
问题是,我不知道如何做到这两点。我怎样才能用这些方面重新排序数据框并保持映射的完整性?这是我的尝试,您可以看到它是如何出错的。
ggplot(data_frame_responses, aes(x = Ages, fill = value)) +
geom_histogram() +
facet_wrap(~ fct_reorder(value, n)) +
theme(legend.position="none") +
labs(title = "Title") +
labs(subtitle = "Subtitle") +
geom_vline(mapping = aes(xintercept = lower_ci), bootstrapped_ci_df, linetype = 'dashed') +
geom_vline(mapping = aes(xintercept = upper_ci), bootstrapped_ci_df, linetype = 'dashed') +
labs(caption = "dashed lines = bootstrapped confidence interval for median") +
theme(plot.title = element_text(hjust = 0.5, face = "bold")) +
theme(plot.subtitle = element_text(hjust = 0.5))
最佳答案
两个数据框中的值变量需要保持一致。在您的代码中,您为 geom_histogram
更改了一个 data_frame_responses
,但为 geom_vline
data_frame_responses
在 ggplot
之前更改两个 data.frames 的数据类型更容易。请注意:我使用不同的数据只是为了回答您的问题。
data_frame_responses <-data_frame_responses %>% mutate(
value = fct_reorder(value, n)
)
bootstrapped_ci_df <-bootstrapped_ci_df %>%
mutate(value = factor(value, levels(data_frame_responses$value)))
ggplot(data_frame_responses, aes(x = Ages, fill = value)) +
geom_histogram() +
facet_wrap(~value) +
theme(legend.position="none") +
labs(title = "Title") +
labs(subtitle = "Subtitle") +
geom_vline(mapping = aes(xintercept = lower_ci), bootstrapped_ci_df, linetype = 'dashed') +
geom_vline(mapping = aes(xintercept = upper_ci), bootstrapped_ci_df, linetype = 'dashed') +
labs(caption = "dashed lines = bootstrapped confidence interval for median") +
theme(plot.title = element_text(hjust = 0.5, face = "bold")) +
theme(plot.subtitle = element_text(hjust = 0.5))
关于R 无法同时映射到 ggplot 和使用 facet wrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69848227/
前 R 用户,我曾经通过 ggplotly() 函数广泛地结合 ggplot 和 plot_ly 库来显示数据。 刚到 Python 时,我看到 ggplot 库可用,但在与 plotly 的简单组合
ggplotly 使用 ggplot 删除 geom_line 图的图例。 见例如以下: library(plotly) g % ggplotly() 关于r - ggplotly 从 gg
我有一个 ggplot我试图以非常简约的外观制作线图的问题。我已经摆脱了图例,转而使用每行右侧的文本标签。如果标签不是那么长,它可能不会那么明显,但如果网格线停在最大 x 值(在这种情况下,在 201
我想使用相同的 ggplot 代码以我的数据框中的数字为条件生成 8 个不同的数字。通常我会使用 facet_grid,但在这种情况下,我希望最终得到每个单独数字的 pdf。例如,我想要这里的每一行一
当我在 ggplot 上使用 geom_text 时,与 ggplot 的“填充”选项发生冲突。 这是问题的一个明显例子: library(ggplot2) a=ChickWeight str(a)
是否可以结合使用 ggplot ly 和拼凑而成的ggplot? 例子 这将并排显示两个图 library(ggplot2) library(plotly) library(patchwork) a
我想绘制一个图表,其中 y 轴以百分比表示: p = ggplot(test, aes(x=creation_date, y=value, color=type)) + geom_line(aes
如何去除ggsave中的白边距? 我的问题和Remove white space (i.e., margins) ggplot2 in R一模一样。然而,那里的答案对我来说并不理想。我不想对固定但未知
我有一个带有一些文本层的条形图,在 ggplot 库中一切正常,但现在我想添加一些与 ggplotly 的交互性,但它无法显示文本层 我更新了所有软件包但问题仍然存在 df = read.table(
当我尝试在 ggplot 中为我的箱线图设置自定义宽度时,它工作正常: p=ggplot(iris, aes(x = Species,y=Sepal.Length )) + geom_boxplot(
我正在尝试为 ggplot 密度创建一个图例,将一个组与所有组进行比较。使用此示例 - R: Custom Legend for Multiple Layer ggplot - 我可以使用下面的代码成
所以我试图在一个多面的 ggplot 上编辑 y 值,因为我在编织时在情节上有几个不准确之处。我对 R 和 R Markdown 很陌生,所以我不太明白为什么,例如,美国的 GDP PPP 在美元金额
我需要在 python 条形图的 x 轴 ggplot 上格式化日期。 我该怎么做? 最佳答案 使用 scale_x_date() 格式化 x 轴上的日期。 p = ggplot(aes(x='dat
我想使用 ggplotly因为它的副作用相同ggplot甚至graphics做。我的意思是当我 knitr::knit或 rmarkdown::render我期望的 Rmd 文档 print(obj)
我在下面有一个简单的应用程序,它显示了一个 ggplot。 ggplot 在控制台中生成警告(见底部图片)。我想捕获警告,并将其显示在应用程序的情节下方。 这是我的代码: library(shiny)
如果显示的基本数据集很大(下面的示例工作代码),则在 Shiny 的应用程序中向/从 ggplot 添加/删除图层可能需要一段时间。 问题是: 有没有办法缓存 ggplot(基本图)并添加/删除/修改
我正在组合 ggplot 的多个绘图,使用网格视口(viewport),这是必要的(我相信),因为我想旋转绘图,这在标准 ggplot 中是不可能的,甚至可能是 gridExtra 包。 我想在两个图
我可以使用 lattice 在 R 中绘制相对频率直方图包裹: a <- runif(100) library(lattice) histogram(a) 我想在 ggplot 中获得相同的图形.我试
我需要重新安装 R,但我现在遇到了 ggplot 的一个小问题。我确信有一个简单的解决方案,我感谢所有提示! 我经常使用堆叠面积图,通常我通过定义因子水平并以相反的顺序绘制来获得所需的堆叠和图例顺序。
新的并且坚持使用ggplot: 我有以下数据: tribe rho preference_watermass 1 Luna2 -1.000 hypolimnic 2 OP10I-A1
我是一名优秀的程序员,十分优秀!