【发布时间】:2020-07-17 21:37:16
【问题描述】:
我正在尝试找出一种在 R 中执行此操作的方法,理想情况下使用 apply() 系列函数中的某些内容(即不使用 for 循环)。
我想使用基于数据框中其他四列的函数,并且我想将该函数的结果保存在数据框的三个新列中。
例如,如果我有(带有测试数据):
x <- c("var1","var2","var3","var4")
A_x <- c(5,4,3,2)
A_notx <- c(5,6,7,8)
B_x <- c(10,10,5,15)
B_notx <- c(10,10,15,5)
example <- data.frame(A_x,A_notx,B_x,B_notx)
rownames(example) <- x
A_x A_notx B_x B_notx
var1 5 5 10 10
var2 4 6 10 10
var3 3 7 5 15
var4 2 8 15 5
我想在这些计数上使用来自 Epitools 库的oddsratio(),我如何将优势比以及上限和下限保存为 3 个新列?我希望 example$odds、example$upper 和 example$lower 存在于我的数据框中。
我对 apply() 和 and by() 有点搞砸了,但似乎无法弄清楚。使用 apply 它将行的结构从数据框更改为矩阵,并且在函数内设置列值超出了函数的范围。也许列表对象比数据框更好地服务整个事情?最后,我希望获得给定变量名称的所有信息(计数、统计信息等),每列中都有一个变量。
【问题讨论】:
-
您好近视3,能否请edit您的问题提供您的预期输出?
标签: r