【发布时间】:2021-06-15 12:47:08
【问题描述】:
我正在创建一个贯穿我的变量并确定它们是否为数字的函数。如果变量是数字,我希望它打印均值、中位数、方差、众数和范围。如果它不是数字,我希望它只打印模式。但是不确定我是否使用了正确的功能(typeof & class)
我收到以下错误
Error: Must group by variables found in `.data`.
* Column `col` is not found.
我的尝试(功能)
myfun <- function(df,col) {
print(typeof(df[,col]))
if(class(df$col)=="numeric"){
mean=mean(df$col)
median=median(df$col)
variance=var(df$col)
mode =mode(df$col)
range=range(df$col)
df <- data.frame(mean=mean,median=median,variance=variance,mode=mode,range=range)
} else df=count(df,col,sort=TRUE)[1,1]
print(max_count)
}
myfun(iris,"Species")
myfun(iris,"Sepal.Length")
【问题讨论】:
-
我猜你想使用
count(df,!!col,sort=TRUE)。我推荐阅读Advanced R。
标签: r function dplyr tidyverse