我已经创建了一个名为“killers”的数据框,其中包含3个变量。虽然存在NA
值,但数据是数字类型。
我的目标是计算每个变量的平均值。
sapply(killers, function(x) median)
这将返回:
$heartattack
function (x, na.rm = FALSE)
UseMethod("median")
<bytecode: 0x103748108>
<environment: namespace:stats>
我知道na.rm
参数是忽略NA
值的一种方式。由于在R返回的内容中存在na.rm = FALSE
,因此可以推断在上述代码行内设置为TRUE
的方法。我尝试了几种变化:
sapply(killers, na.rm=TRUE function(x) median)
sapply(killers, function(x) median, na.rm=TRUE)
sapply(killers, function(x) median(na.rm=TRUE))
我不确定我是否接近答案或者是否需要嵌套函数,因为在SO上的其他类似问题的帖子(尽管我认为这些问题最终并没有帮助到我)可能需要。例如: 如何将na.rm作为参数传递给tapply?, 在sapply函数中忽略NA值
当然,我可以只计算用于创建killers的每个向量的平均值,但如果我的问题是可能的话,那么这样做就更好了。
sapply
表示“...:'FUN'的可选参数”。在“示例”部分中,有关于如何向函数传递附加参数的例子。 - Joshua Ulrichsapply
返回函数median
,它确实做到了。函数是对象。(但你没有告诉它返回median(x)
。) - IRTFM