考虑对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
时,它不会显示。
答案 0 :(得分:0)
您可以将两个向量与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