r - 编写 R 函数
问题描述
我正在尝试编写一个计算pairwise_t_test
数据框中给定协变量的函数。
pairs <- function(df, covariate, group){
pwc <- pairwise_t_test(data = df, formula = covariate ~ group, paired = FALSE )
print(pwc)
}
pairs(df = df_test_TS, covariate = "is_donor", group = "w.contextual")
我也试过:
pairs(df = df_test_TS, covariate = is_donor, group = w.contextual)
但他们回来了:
错误:无法提取不存在的列。✖ 列
group
不存在。
或者:
错误:无法提取不存在的列。✖ 列
covariate
不存在。
中的变量实际上是数据框中列的名称,所以我不明白这个错误。
解决方案
该错误来自 df 没有组或协变量列的事实:
as.character(covariate ~ group)
[1] "~" "covariate" "group"
因此该公式将推动pairwise_t_test
在 data.frame 中寻找协变量和组
pairs <- function(df, covariate, group){
covariate <- substitute(covariate)
group <- substitute(group)
pairwise_t_test(data = df, formula = as.formula(paste0(covariate, "~", group)), paired = FALSE )
}
pairs(df, len , supp)
# A tibble: 1 x 9
.y. group1 group2 n1 n2 p p.signif p.adj p.adj.signif
* <chr> <chr> <chr> <int> <int> <dbl> <chr> <dbl> <chr>
1 len OJ VC 30 30 0.0604 ns 0.0604 ns
pairs(df, "len" , "supp")
# A tibble: 1 x 9
.y. group1 group2 n1 n2 p p.signif p.adj p.adj.signif
* <chr> <chr> <chr> <int> <int> <dbl> <chr> <dbl> <chr>
1 len OJ VC 30 30 0.0604 ns 0.0604 ns
数据
data("ToothGrowth")
df <- ToothGrowth
推荐阅读
- javascript - TypeError:无法读取未定义 onGridRowsUpdated 的属性“setState”(使 React Data Grid 眼花缭乱)
- html - 如何将文本放在可点击的图像前面
- session - (Rocket.Chat 注销)如何立即结束会话?
- applescript - 有没有办法写入 Applescript 结果?
- python - 为什么我的函数不能处理 NaN 值并抛出“float”对象不可下标?
- c++ - 尝试在内核模式下打印出所有进程的名称及其 PID
- r - 通过最近匹配加入两个数据帧
- python - 使用带有 tune.with_parameters 的可训练类时出现 Ray Tune 错误
- android - Firebase auth getDisplayedName,getPhoto url 问题
- correlation - 相关矩阵的corrplot和pheatmap之间的区别?如何使两者之间保持一致