如何使用 R 绘制多个箱线图
How to make multiple box plot using R
这是我的数据集的头部
ï..age sex cp trestbps chol fbs restecg thalach exang oldpeak slope ca thal
1 63 male 3 145 233 1 0 150 0 2.3 0 0 1
2 37 male 2 130 250 0 1 187 0 3.5 0 0 2
3 41 female 1 130 204 0 0 172 0 1.4 2 0 2
4 56 male 1 120 236 0 1 178 0 0.8 2 0 2
5 57 female 0 120 354 0 1 163 1 0.6 2 0 2
6 57 male 0 140 192 0 1 148 0 0.4 1 0 1
target
1 yes
2 yes
3 yes
4 yes
5 yes
因变量是目标,我只想绘制数字变量(年龄、trestbps、thalach...)的多箱线图,我想用因变量(目标)填充它,每个这个变量的必须用因变量填充。怎么做?
您可以使用以下代码
library(tidyverse)
df %>%
mutate_if(is.numeric,as.character, is.factor, as.character) %>%
pivot_longer(-target) %>%
filter(!((name == "sex"))) %>%
mutate(value = as.numeric(value)) %>%
ggplot(aes(x = target, y = value)) +
geom_boxplot() +
facet_wrap(name~., scales = "free")
数据
df <- read.table(text = "age sex cp trestbps chol fbs restecg thalach exang oldpeak slope ca thal target
63 male 3 145 233 1 0 150 0 2.3 0 0 1 yes
37 male 2 130 250 0 1 187 0 3.5 0 0 2 yes
41 female 1 130 204 0 0 172 0 1.4 2 0 2 yes
56 male 1 120 236 0 1 178 0 0.8 2 0 2 yes
57 female 0 120 354 0 1 163 1 0.6 2 0 2 yes
57 male 0 140 192 0 1 148 0 0.4 1 0 1 yes", header =T)
这是我的数据集的头部
ï..age sex cp trestbps chol fbs restecg thalach exang oldpeak slope ca thal
1 63 male 3 145 233 1 0 150 0 2.3 0 0 1
2 37 male 2 130 250 0 1 187 0 3.5 0 0 2
3 41 female 1 130 204 0 0 172 0 1.4 2 0 2
4 56 male 1 120 236 0 1 178 0 0.8 2 0 2
5 57 female 0 120 354 0 1 163 1 0.6 2 0 2
6 57 male 0 140 192 0 1 148 0 0.4 1 0 1
target
1 yes
2 yes
3 yes
4 yes
5 yes
因变量是目标,我只想绘制数字变量(年龄、trestbps、thalach...)的多箱线图,我想用因变量(目标)填充它,每个这个变量的必须用因变量填充。怎么做?
您可以使用以下代码
library(tidyverse)
df %>%
mutate_if(is.numeric,as.character, is.factor, as.character) %>%
pivot_longer(-target) %>%
filter(!((name == "sex"))) %>%
mutate(value = as.numeric(value)) %>%
ggplot(aes(x = target, y = value)) +
geom_boxplot() +
facet_wrap(name~., scales = "free")
数据
df <- read.table(text = "age sex cp trestbps chol fbs restecg thalach exang oldpeak slope ca thal target
63 male 3 145 233 1 0 150 0 2.3 0 0 1 yes
37 male 2 130 250 0 1 187 0 3.5 0 0 2 yes
41 female 1 130 204 0 0 172 0 1.4 2 0 2 yes
56 male 1 120 236 0 1 178 0 0.8 2 0 2 yes
57 female 0 120 354 0 1 163 1 0.6 2 0 2 yes
57 male 0 140 192 0 1 148 0 0.4 1 0 1 yes", header =T)