r - 创建包含 table() 的 R 函数时出错
问题描述
我正在尝试创建一个包含 table() 函数的函数,但我一直返回错误"Error in table(df$var, df$arm) : all arguments must have the same length "。我已经尝试了所有替代选项来引用我能想到的列,但无济于事。
这是一个可复制的示例:
x <- c(0, 1, 0, 1)
arm <- c("A", "A", "B", "B")
study.df <- data.frame(x, arm, row.names = NULL)
f.table <- function(df, var) {
p <- table(df$var, df$arm) %>%
fisher.test(alternative = "two.sided") %>%
.$p.value
return(p)
}
f.table(study.df, x)
解决方案
您需要更改在函数var
内部调用参数的方式,这是一个解决方案:
f.table <- function(df, var) {
p <-
table(df[,var], df$arm) %>%
fisher.test(alternative = "two.sided") %>%
.$p.value
return(p)
}
f.table(study.df, "x")
推荐阅读
- python - flask socketio 多次触发连接事件
- reactjs - 标记(Mapbox)反应打字稿
- 2captcha - 解决没有表单或返回函数的hcaptcha
- java - Spring Boot 不会自动创建表
- java - 如何使用jooq从同一个spring boot服务中的两个数据源生成pojos
- python - Flask 路由没有给出想要的结果,在某些情况下没有附加 URL
- html - 旋转到横向模式时移动网站变为桌面
- android - 安卓用户界面更新
- python - 从odoo qweb中的按钮触发动作
- django - 将 ManyToMany Field 对象添加到信号创建模型实例的信号