查找一列数据的平均值

Finding the mean of a column of data


    # What is the mean suspension rate for schools overall?
    merged_data[merged_data == "*"]<- NA
    na.omit(merged_data)
    as.numeric(suspension_rate_total)
    suspension_rate_total <- merged_data[ ,7]
    mean(suspension_rate_total)

我试图找到列的平均值 "suspension_rate_total." 我想也许它不允许我找到平均值,因为我有 *'s,这就是为什么我把它们变成 NA's 并删除他们。但我仍然在我的数据中显示很多 NA,还有很多数字,而不是一个单一的平均值。求助!

这是我的数据(不确定如何将其插入此处整理)。

数据

structure(list(schid = c("1030642", "1030766", "1030774", "1030840", 
"1130103", "1230150"), farms = c(132, 116, 348, 406, 68, 130), 
    foster = c("2", "0", "1", "8", "1", "4"), homeless = c("14", 
    "0", "8", "4", "1", "4"), migrant = c("0", "0", "0", "0", 
    "0", "0"), ell = c("18", "12", "114", "45", "7", "4"), suspension_rate_total = c(NA, 
    20, 0, 0, 95, 5), suspension_violent = c(NA, "9", "0", "0", 
    "20", "2"), suspension_violent_no_injury = c(NA, "6", "0", 
    "0", "47", "1"), suspension_weapon = c(NA, "0", "0", "0", 
    "8", "0"), suspension_drug = c(NA, "0", "0", "0", "9", "1"
    ), suspension_defiance = c(NA, "1", "0", "0", "9", "1"), 
    suspension_other = c(NA, "4", "0", "0", "2", "0")), row.names = c(NA, 
6L), class = "data.frame")

如果您的数据名为 df:

mean(df$suspension_rate_total,na.rm = T)

大多数列都是 class 个字符,将它们转换为数字以计算所有列的平均值:

df<-apply(df,2,as.numeric)

colMeans(df, na.rm = T)