我正在使用here中的自定义函数来计算ggplot条形图中误差线的标准偏差。它与我刚运行代码时完全一样,但是当我编织rmd文件时,它返回“错误:无法重命名不存在的列。x长度”不存在。
该功能的代码为:
summarySE <- function(data=NULL, measurevar, groupvars=NULL, na.rm=FALSE,
conf.interval=.95, .drop=TRUE) {
library(plyr)
length2 <- function (x, na.rm=FALSE) {
if (na.rm) sum(!is.na(x))
else length(x)
}
datac <- ddply(data, groupvars, .drop=.drop,
.fun = function(xx, col) {
c(N = length2(xx[[col]], na.rm=na.rm),
mean = mean (xx[[col]], na.rm=na.rm),
sd = sd (xx[[col]], na.rm=na.rm)
)
},
measurevar
)
datac <- rename(datac, c("mean" = measurevar))
datac$se <- datac$sd / sqrt(datac$N)
ciMult <- qt(conf.interval/2 + .5, datac$N-1)
datac$ci <- datac$se * ciMult
return(datac)
}
然后返回错误的行是:
errorbars <- summarySE(lengths_data, measurevar = "Length", groupvars=c("Site","Animal"))
其中“ lengths_data”是我自己的数据集,具有“ Length”,“ Animal”和“ Site”列。我不确定是什么原因导致了编织错误,但是在运行代码时并没有引起任何问题。有什么想法吗?