R代码:使用plot函数绘制年份分组的折线图,以性别为分组
以下是使用R代码实现的解决方案:
# 创建示例数据
data <- data.frame(
year = rep(c(2010, 2011, 2012), each = 6),
sex = rep(rep(c('Male', 'Female'), each = 3), 3),
age = rep(c(20, 30, 40), 6),
survival_prob = c(0.9, 0.8, 0.7, 0.95, 0.85, 0.75, 0.92, 0.82, 0.72, 0.88, 0.78, 0.68, 0.94, 0.84, 0.74, 0.91, 0.81, 0.71)
)
# 分组绘制折线图
plot_list <- split(data, data$year)
par(mfrow=c(length(plot_list), 1))
for (i in 1:length(plot_list)) {
plot_data <- plot_list[[i]]
plot_data <- split(plot_data, plot_data$sex)
for (j in 1:length(plot_data)) {
plot_data_subset <- plot_data[[j]]
plot(x = plot_data_subset$age, y = plot_data_subset$survival_prob,
type = 'o', col = j, ylim = c(0, 1),
xlab = 'Age', ylab = 'Survival Probability',
main = paste('Year', unique(plot_data_subset$year), '-', unique(plot_data_subset$sex[j])))
legend('bottomright', legend = unique(plot_data_subset$sex), col = 1:length(unique(plot_data_subset$sex)), pch = 1:length(unique(plot_data_subset$sex)))
}
}
这段代码首先创建了一个示例数据框,其中包含年份、性别、年龄和生存概率四个变量。然后,代码将数据按年份分组,并通过循环遍历每个年份的数据。在每个年份的循环中,代码将数据再次按性别分组,并通过循环遍历每个性别的数据。最后,代码使用plot函数绘制每个性别的折线图,并将其放在单独的图形窗口中。
请注意,此代码假设数据已经按照年份、性别和年龄进行排序。如果数据未排序,您可能需要在进行分组之前对数据进行排序。此外,代码还添加了图例,以显示每个图形中的性别。
原文地址: https://www.cveoy.top/t/topic/o6bB 著作权归作者所有。请勿转载和采集!