如何从头开始创建Summary()函数?
我想创建一个定义的用户函数,它与summary()非常相似,只是为了练习,但它会给我错误消息。有人能帮我吗如何从头开始创建Summary()函数?,r,R,我想创建一个定义的用户函数,它与summary()非常相似,只是为了练习,但它会给我错误消息。有人能帮我吗 quick_view < - function (df) { n == 0 while (n <= 1) { quantile < -quantile(df, n) n < -n + 0.25 if (n == 0) { sprintf("Min: %s", quantile)
quick_view < - function (df) {
n == 0
while (n <= 1) {
quantile < -quantile(df, n)
n < -n + 0.25
if (n == 0) {
sprintf("Min: %s", quantile)
} elseif(n == 0.25){
sprintf("1Q: %s", quantile)
} elseif(n == 0.5){
sprintf("2Q: %s", quantile)
} elseif(n == 0.75){
sprintf("3Q: %s", quantile)
}else {
sprintf("Max: %s", quantile)
}
}
}
quick_view<-功能(df){
n==0
虽然(n您就快到了。无需首先放置n,您需要在其他之间留出一个空格,如果,第二,您不需要在函数开头声明n,您需要使用n quick\u View当我在此函数中调用向量时,仍然没有打印预期的摘要统计数据,您需要在sprintf
调用周围添加打印。另外永远不要将变量命名为与函数相同的名称,如分位数。任何问题都只需编辑您的问题。是的,mate tks,我发现了相同的名称,现在我只是在N==0的情况下挣扎,它不会打印分位数值
quick_view<- function(df){
n <- 0
while (n<=1){
quantiles <- quantile(df,n)
if (n==0){
print(sprintf("Min: %s", quantiles))
} else if(n==0.25){
print(sprintf("1Q: %s",quantiles))
} else if(n==0.5){
print(sprintf("2Q: %s",quantiles))
} else if(n==0.75){
print(sprintf("3Q: %s",quantiles))
} else{
print(sprintf("Max: %s",quantiles))
}
n <- n + 0.25
}
}
quick_view(1:10)
[1] "Min: 1"
[1] "1Q: 3.25"
[1] "2Q: 5.5"
[1] "3Q: 7.75"
[1] "Max: 10"