考虑以下两种病媒,对11只不同的狗进行治疗,并计算它们尾巴响应的次数:
Dog_biscuits <- c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
Tail_wags <- c(0, 0, 1, 3, 8, 13, 14, 12, 15, 16, 14)
编写一个名为summarystat
的函数,它返回带有标签的这两个向量的均值,中值和标准差。
我试过了:
summarystat <- mean(Dog_biscuits)
#5
#print(summarystat)
print(paste("Mean=", as.numeric(summarystat,"")
但是,如果我将函数summarystat(Dog_biscuits)
称为mean = answer
,它就不会显示出来。
您可以使用cbind
连接两个向量,然后使用apply
和sapply
的组合最终获得data.frame
和所需的估算器。
Dog_biscuits <- c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
Tail_wags <- c(0, 0, 1, 3, 8, 13, 14, 12, 15, 16, 14)
summarystat <- function(v1, v2) {
df <- cbind(v1, v2)
r <- as.data.frame(sapply(c(mean, median, sd), function(z) apply(df, 2, z)))
colnames(r) <- c("mean", "median", "sd")
r
}
summarystat(Dog_biscuits, Tail_wags)
输出:
mean median sd
v1 5.000000 5 3.316625
v2 8.727273 12 6.497552