我正在尝试创建自己的函数来计算 Dataframe 中任意变量(列)的变异系数。
coeffvar <- function(variable)
{
abs((SD(variable) / mean(variable))*100)
}
它适用于单个向量,但当参数是 Dataframe 时,我得到以下错误:
Warning message:
In mean.default(variable) :
argument is not numeric or logical: returning NA
且所有输出均为NA
2条答案
按热度按时间xtupzzrd1#
你可以把你的函数 Package 在一个循环中,循环遍历
colnames(df)
,或者你可以尝试类似于这里分享的实现:Apply function to each column in a data frame observing each columns existing data type如果你想用一个函数同时处理vectors和data.frames,你可以添加一个if语句来检查函数输入的数据类型。
xfb7svmp2#
请检查下面的代码,其中
map_if
仅对数字列有效创建于2023年2月3日,使用reprex v2.0.2