$operator和atomic vector-在何处放置我的data.frame代码

$operator和atomic vector-在何处放置我的data.frame代码,r,dataframe,vector,R,Dataframe,Vector,我已经通读了一些关于如何通过创建“数据帧”而不是使用向量来解决这个问题的答案,但是我不确定我将把它放在下面的代码块中的确切位置;请帮忙 我想做的是——这是一个大学作业。这个问题是关于记录每个地区的统计数据。 解释。关于每个区域的平均值:基于每个区域的平均值创建新的数据帧。确保他们结合男性和女性的价值观来获得年龄分布 region_list <- unique(abs_data$region) means_vec <- rep(0, times=length(region_list)

我已经通读了一些关于如何通过创建“数据帧”而不是使用向量来解决这个问题的答案,但是我不确定我将把它放在下面的代码块中的确切位置;请帮忙

我想做的是——这是一个大学作业。这个问题是关于记录每个地区的统计数据。 解释。关于每个区域的平均值:基于每个区域的平均值创建新的数据帧。确保他们结合男性和女性的价值观来获得年龄分布

region_list <- unique(abs_data$region)

means_vec <- rep(0, times=length(region_list))
for (i in seq(1, length(region_list))){
  region_df <- abs_data %>% filter(region==region_list[i])
  # weights
  weights = region_df$population/sum(region_list$population)
  # mean
  sample_values_mean = sum(weights * region_list$age)
  means_vec[i] <- sample_values_mean
}


SAMPLE DATA;

structure(list(region = c("SSC21184", "SSC21184", "SSC21184", 
"SSC21184", "SSC21184", "SSC21184", "SSC21184", "SSC21184", "SSC21184", 
"SSC21184", "SSC21184", "SSC21184", "SSC21184", "SSC21184", "SSC21184", 
"SSC21184", "SSC21184", "SSC21184", "SSC21184", "SSC21184"), 
    age = c(0L, 0L, 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 6L, 
    6L, 7L, 7L, 8L, 8L, 9L, 9L), gender = c("M", "F", "M", "F", 
    "M", "F", "M", "F", "M", "F", "M", "F", "M", "F", "M", "F", 
    "M", "F", "M", "F"), population = c(114L, 95L, 88L, 107L, 
    122L, 120L, 123L, 125L, 114L, 117L, 140L, 147L, 131L, 137L, 
    127L, 130L, 139L, 157L, 149L, 161L)), row.names = c(NA, 20L
), class = "data.frame")


region\u list您对该行所做的操作:

region_list <- unique(abs_data$region)

region\u列表请使用
dput
添加数据,并显示相同的预期输出。请阅读并了解如何给出答案。您能给我们一些示例数据以供使用吗?这将更容易帮助您。[1]“维度:56000,4”[1]“列名和类型”[1]“区域字符”[1]“年龄整数”[1]“性别字符”[1]“人口整数”[1]“唯一区域数:500”[1]“最小年龄:0”[1]“最大年龄:55”[1]“年龄栏大小:1”很抱歉,这是我第一次学习编码课程,我正在尝试找出如何最好地发送示例data@bstrain我更新了一些示例数据-这有帮助吗?
region_list <- as.data.frame(unique(abs_data$region))
library(dplyr)

abs_data <- structure(list(region = c("SSC21184", "SSC21184", "SSC21184", 
                                      "SSC21184", "SSC21184", "SSC21184", "SSC21184", "SSC21184", "SSC21184", 
                                      "SSC21184", "SSC21184", "SSC21184", "SSC21184", "SSC21184", "SSC21184", 
                                      "SSC21184", "SSC21184", "SSC21184", "SSC21184", "SSC21184"), 
                           age = c(0L, 0L, 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 6L, 
                                   6L, 7L, 7L, 8L, 8L, 9L, 9L), gender = c("M", "F", "M", "F", 
                                                                           "M", "F", "M", "F", "M", "F", "M", "F", "M", "F", "M", "F", 
                                                                           "M", "F", "M", "F"), population = c(114L, 95L, 88L, 107L, 
                                                                                                               122L, 120L, 123L, 125L, 114L, 117L, 140L, 147L, 131L, 137L, 
                                                                                                               127L, 130L, 139L, 157L, 149L, 161L)), row.names = c(NA, 20L
                                                                                                               ), class = "data.frame")
region_list <- as.data.frame(unique(abs_data$region))

means_vec <- rep(0, times=length(region_list))
for (i in seq(1, length(region_list))){
  region_df <- abs_data %>% filter(region==region_list[i])
  # weights
  weights = region_df$population/sum(region_list$population)
  # mean
  sample_values_mean = sum(weights * region_list$age)
  means_vec[i] <- sample_values_mean
}