我使用makeContrasts
函数作为管道的一部分(使用limma(。我有几项研究,一项又一项正在进行中。对于其中两个,makeContrasts函数如下所示:
aarts_1_cm = makeContrasts(R10d = labelR - labelP,
R1nMRap = labelR1 - labelP,
R10nMRap_OSKM = labelR10 - labelO,
levels = Design)
和
aarts_2_cm = makeContrasts(OSKM14 = labelO14 - labelP14,
OSKM14mTORsh_OSKM14p21sh = labelOT14 - labelOp14,
OSKM20mTORsh_OSKM20p21sh = labelOT20 - labelOp20,
levels = Design)
由于每项研究的对比不同,我无法将其纳入管道中。因此,我把函数的内容变成了一个字符串:
aarts_2 = "OSKM14 = labelO14 - labelP14,
OSKM14mTORsh_OSKM14p21sh = labelOT14 - labelOp14,
OSKM20mTORsh_OSKM20p21sh = labelOT20 - labelOp20,
levels = Design"
这样我就可以执行makeContrasts(unstring(aarts_2))
,但我不知道如何取消绑定aarts_2
,以便函数读取它。或者是否有更好的方法。如果有任何帮助,我将不胜感激。
谢谢。
我不认为有一种方法可以编写您想要的unstring
函数,但您可以这样做:
makeContrastsFromString <- function(s)
eval(parse(text = paste("makeContrasts(", s, ")")))
然后
makeContrastsFromString(aarts_2)
应该给你想要的。我还没有测试过,因为我无法安装limma
来获得makeContrasts
。我的功能相当脆弱;如果用户将行分解为字符串向量的单独元素,那么它将不起作用。我会把它留给你,让它在对抗这种事情时变得强大。