我正在开发一个基本上根据列中的两个异常值过滤掉行的函数。我传递的是列名,下部异常值和上部异常值。即使我让表过滤以一种有点丑陋的方式工作(建议在一行中表达赞赏),但我很难在之后返回该特定列的平均值。我尝试使用get()
,因为列名是字符串,但是会收到错误。我也看过colMeans()
,但无法使其发挥作用。
findMean <- function(colname, outlier_lower, outlier_upper) {
initial.data <- survey %>%
filter_(paste0(colname, "<", outlier_upper))
filtered.data <- initial.data %>%
filter_(paste0(colname, ">=", outlier_lower))
mena <- mean(get(filtered.data$colname))
return(mean)
}
答案 0 :(得分:0)
没关系,我让它上班。
findMean <- function(colname, outlier_lower, outlier_upper) {
initial.data <- survey %>%
filter_(paste0(colname, "<", outlier_upper))
filtered.data <- initial.data %>%
filter_(paste0(colname, ">=", outlier_lower)) %>%
summarise(mean = mean(get(colname)))
return(filtered.data$mean)
}