r - 绘制变量的第一个、第二个和第三个值的图形
问题描述
例如我有这个数据集:
c1 c2
A 1
A 3
A 10
B 5
B 4
C 3
C 4
C 6
A 5
C 7
是否有一种简短的方法可以在一张图中绘制 A、B、C 值的前三分之一、A、B、C 值的第二个三分之一以及 A、B、C 值的第三个第三个值。对于每个变量,将有 3 行。
所以一共有9行
解决方案
你可以使用group_split
and lapply
:
df <- data.frame(c1 = rep(LETTERS[1:3], 3), c2 = sample(1:10, size = 9, rep = T))
df %>%
group_by(c1) %>%
mutate(num = 1:n()) %>%
group_split(num) -> plot_list
lapply(plot_list, function(x) {
ggplot(x, aes(x = num, y = c2)) + geom_line()
})
或者你使用方面:
df %>%
group_by(c1) %>%
mutate(num = 1:n()) %>%
ggplot() +
facet_grid(scales = "free", cols = vars(num)) +
geom_line(aes(x = c1, y = c2, group = num))
推荐阅读
- r - 如何使用 quosure 在 dplyr 中将过滤器语句作为函数参数传递
- node.js - 如何让浏览器显示 pdf 文件而不是从 Nodejs 服务器下载?
- android - Xamarin forms webview takes all the screen height
- java - WAP 输入一个句子并打印该句子中出现了多少次“is”[Java]
- java - Java 和 Kotlin 中的 Lambda 之间的差异
- awk - gensub() 可以接受函数调用作为第二个参数吗?
- ruby-on-rails - Mongo::Error::SocketError:在 mongo 副本集中执行查询时管道损坏
- laravel - Laravel 多重身份验证来自两个不同的路由和视图
- pine-script - 今天第五分钟关门
- android - 未显示所有数据,但带有 RecyclerView 的 AdMobs