将字符串转换为 R 中用于管道的函数的内容
Turn string into the contents of a function in R for pipeline
我正在使用 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
。我的功能非常脆弱;如果用户将行分解为字符串向量的单独元素,它将不起作用。我会把它留给你来让它对那种事情变得健壮。
我正在使用 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
。我的功能非常脆弱;如果用户将行分解为字符串向量的单独元素,它将不起作用。我会把它留给你来让它对那种事情变得健壮。