我正在尝试按百分比修剪 r 中的向量。该函数应丢弃 X 的最低 5% 和最高 5% 值,然后返回 X 的均值、方差和中位数。
my_aggregation <- function(x,is.truncated=FALSE){
if (is.truncated==FALSE) return(data.frame(mean = mean(x), med = median(x), var = var(x)))
if (is.truncated==TRUE) Trim(x,0.05) return(data.frame(mean = mean(x), med = median(x), var = var(x)))
}
我试图分配给这样的新变量
if (is.truncated==TRUE) x2 <- Trim(x,0.05) return(data.frame(mean = mean(x2), med = median(x2), var = var(x2)))
没有运气。我没有找到问题的原因是因为我是新手,而且当我运行它时
my_aggregation <- function(x,is.truncated=FALSE){
if (is.truncated==FALSE) return(data.frame(mean = mean(x), med = median(x), var = var(x)))
if (is.truncated==TRUE)return(data.frame(mean = mean(x), med = median(x), var = var(x)))
if (is.truncated=="BOTH") return({x*2})
}
一切正常。也许它与 Trim() 函数有关,但我不知道究竟是什么。无论如何,这是我得到的错误。
Error: unexpected symbol in:
" if (is.truncated==FALSE) return(data.frame(mean = mean(x), med = median(x), var = var(x)))
if (is.truncated==TRUE) Trim(x,0.05) return"
> if (is.truncated=="BOTH") return({x*2})
Error: object 'is.truncated' not found
> }
Error: unexpected '}' in "}"
如果您对我如何获得相同的结果有其他建议,我会全力以赴。