You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言自定义函数中正确使用xtabs函数?

解决xtabs自定义包装函数的错误问题

你的包装函数出错的核心原因是:xtabs(~ variable, data = data)里的variable是传入的字符串参数,xtabs不会自动将它解析为数据框中的列名,而是把它当作一个固定的字面量值,所以统计的是这个字符串出现的次数,结果自然是1。

以下两种方法可以修复这个问题:

方法一:使用reformulate构造公式

xtabs_fun <- function(data, variable) {
  xtabs(reformulate(variable), data = data)
}

方法二:拼接字符串生成公式

xtabs_fun <- function(data, variable) {
  xtabs(as.formula(paste("~", variable)), data = data)
}

调用修复后的函数xtabs_fun(mtcars, "cyl"),就能得到预期结果:

cyl
 4   6   8 
11   7  14 

内容的提问来源于stack exchange,提问作者writer_typer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:31:03