R 中每个范围的两个条的表示
representation of two bars for each range in R
我一直在尝试制作条形图,但我对它的数据建模和表示非常困惑。
代码如下。 fixedTable是我从他那里拿数据的数据框,逻辑向量是我需要从我的数据集中得到的列(这里没有问题)。
在这个link中有一个通缉情节的例子。但应该是 0 和 1,而不是中国和意大利。
例如:在 50-59 年龄组中,有 49 人存活(1)和 40 人未存活(0)。因此,该组的范围需要包括身高为 49 和 0 的两个 bars:1身高 40.
代码:
ageAndSurvived<-subset(fixedTable,select = logicVector)
x<-split(ageAndSurvived,cut(ageAndSurvived$Age,seq(0,100,by=10))) #tried this but didnt help much
head(ageAndSurvived)
## Survived Age
## 1 0 22
## 2 1 38
## 3 1 26
## 4 1 35
## 5 0 35
## 7 0 54
第三排example:in有一个幸存者,年龄26岁
我很高兴知道如何做。更喜欢使用 base R。
非常感谢您! :)
首先,我为年龄范围创建了一个组,然后将级别更改为名称,以便我们可以使用这些来绘制。然后,我使用 x-axis 的年龄组并使用 stat
中的 count
作为 y-axis,然后需要将组(即 0
和1
) 作为一个因素。
library(tidyverse)
results <- group_by(df, agegrp = cut(Age, c(seq(9, 79, 10))), Survived)
levels(results$agegrp) <- c("0-9", "10-19", "20-29", "30-39", "40-49", "50-59", "60-69", "70-79", "80+")
results %>%
ggplot(aes(x = agegrp, fill = as.factor(Survived))) +
geom_bar(position="dodge", stat="count")
输出
数据
df <- structure(list(Survived = c(0L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 1L,
1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L,
1L, 0L, 1L, 0L, 1L), Age = c(22L, 38L, 26L, 35L, 35L, 54L, 22L,
38L, 26L, 35L, 35L, 54L, 22L, 38L, 26L, 35L, 35L, 54L, 22L, 38L,
26L, 35L, 35L, 54L, 22L, 38L, 26L, 35L, 35L, 54L)), row.names = c("1",
"2", "3", "4", "5", "7", "11", "21", "31", "41", "51", "71",
"12", "22", "32", "42", "52", "72", "13", "23", "33", "43", "53",
"73", "14", "24", "34", "44", "54", "74"), class = "data.frame")
我一直在尝试制作条形图,但我对它的数据建模和表示非常困惑。 代码如下。 fixedTable是我从他那里拿数据的数据框,逻辑向量是我需要从我的数据集中得到的列(这里没有问题)。
在这个link中有一个通缉情节的例子。但应该是 0 和 1,而不是中国和意大利。 例如:在 50-59 年龄组中,有 49 人存活(1)和 40 人未存活(0)。因此,该组的范围需要包括身高为 49 和 0 的两个 bars:1身高 40.
代码:
ageAndSurvived<-subset(fixedTable,select = logicVector)
x<-split(ageAndSurvived,cut(ageAndSurvived$Age,seq(0,100,by=10))) #tried this but didnt help much
head(ageAndSurvived)
## Survived Age
## 1 0 22
## 2 1 38
## 3 1 26
## 4 1 35
## 5 0 35
## 7 0 54
第三排example:in有一个幸存者,年龄26岁
我很高兴知道如何做。更喜欢使用 base R。 非常感谢您! :)
首先,我为年龄范围创建了一个组,然后将级别更改为名称,以便我们可以使用这些来绘制。然后,我使用 x-axis 的年龄组并使用 stat
中的 count
作为 y-axis,然后需要将组(即 0
和1
) 作为一个因素。
library(tidyverse)
results <- group_by(df, agegrp = cut(Age, c(seq(9, 79, 10))), Survived)
levels(results$agegrp) <- c("0-9", "10-19", "20-29", "30-39", "40-49", "50-59", "60-69", "70-79", "80+")
results %>%
ggplot(aes(x = agegrp, fill = as.factor(Survived))) +
geom_bar(position="dodge", stat="count")
输出
数据
df <- structure(list(Survived = c(0L, 1L, 1L, 1L, 0L, 0L, 1L, 1L, 1L,
1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L,
1L, 0L, 1L, 0L, 1L), Age = c(22L, 38L, 26L, 35L, 35L, 54L, 22L,
38L, 26L, 35L, 35L, 54L, 22L, 38L, 26L, 35L, 35L, 54L, 22L, 38L,
26L, 35L, 35L, 54L, 22L, 38L, 26L, 35L, 35L, 54L)), row.names = c("1",
"2", "3", "4", "5", "7", "11", "21", "31", "41", "51", "71",
"12", "22", "32", "42", "52", "72", "13", "23", "33", "43", "53",
"73", "14", "24", "34", "44", "54", "74"), class = "data.frame")