r - 创建多个小提琴图
问题描述
我有一个包含 43 个不同数值变量的数据框和一个包含 823 行(患者)的分类变量。我需要根据分类变量分组的每个数字变量(每列)的小提琴图。分类变量具有不同的种族群体,如“AA”、“亚洲人”、“美洲原住民”。所以我需要 43 个小提琴图,显示基于不同种族的每个数字变量(即每列)的分布。分类变量将是常量。我正在尝试使用 for 循环,但我认为代码有问题。它不工作。
The code I am using to generate each violin plot is as follows.
ggplot2.violinplot(data=violin_df, xName='Race',yName='Cluster.1',
addDot=TRUE, dotSize=0.8,
dotPosition="jitter", jitter=0.2)
Here is the reproducible example dataset and code I am using to
generate
install.packages("devtools")
library(devtools)
install_github("kassambara/easyGgplot2")
library(easyGgplot2)
data <- matrix(rnorm(150), nrow=15)
data <- as.data.frame(data)
data$groups <- c("group1","group1","group1","group1","group1",
"group2","group2","group2","group2","group2",
"group3","group3","group3","group3","group3")
data$groups <- as.factor(data$groups)
ggplot2.violinplot(data=data,xName="groups",yName="V1",
addDot=TRUE, dotSize=0.8,
dotPosition="jitter", jitter=0.2)
######I need the violin plots for all the 9 column variables in
####the similar manner
for (i in 1:ncol(data)) {
png(file = paste("var_", i, ".png", sep=""))
ggplot2.violinplot(data=data,xName="groups",yName="data[,i]",
addDot=TRUE, dotSize=0.8,
dotPosition="jitter", jitter=0.2)
dev.off()
}
解决方案
推荐阅读
- kubernetes - 将流量从 GCP 虚拟机路由到 VPC Native Cloud DNS GKE 集群
- r - 在shinywidget的下拉()下的multiInput()中选择后下拉消失
- typescript - 找不到模块“firebase”或其相应的类型声明。React + TypeScript + Firebase
- angular10 - mmenu-light 在 Angular 10 中引发错误。我该如何解决?
- google-apps-script - 使用 Google Apps 脚本提取当前价格变化百分比(Google 财经)
- python - 如果在另一个 CSV 文件中找到行值,则从 CSV 文件中过滤行
- c# - 我将如何忽略通过 websocket 发送的错误数据。在这种情况下,我试图阻止字符串数据被接受和使用
- ios - Swift 有没有办法检查 NSCrossWebsiteTrackingUsageDescription 状态
- javascript - ajax 代码在 django 应用程序上不起作用
- sql - 用户 LIKES 的 PostgreSQL 逻辑/查询