我有一个来自生物信息学包(DESeq2)的R函数,它将一个“公式”作为其参数之一(我不确定我在R中使用正确的术语来表示“〜 “)。我注意到当我创建一个包含公式的向量时,如果我给它一个向量元素,函数就会失败。
# sample_table and data_dir are already defined at this point
design_1 <- ~ genotype
design_2 <- ~ treatment
designs <- c(design_1, design_2)
dds_raw <- DESeqDataSetFromHTSeqCount(
sampleTable = sample_table,
directory = data_dir,
design = designs[1])
我的实际代码中出现以下错误(比上面的示例复杂一点):
Error in terms.default(object, data = data) :
no terms component nor attribute
Calls: <Anonymous> ... model.matrix -> model.matrix.default -> terms -> terms.default
Execution halted
这个错误是什么意思?
但是,以下似乎有效:
design_1 <- "~ genotype"
design_2 <- "~ treatment"
designs <- c(design_1, design_2)
dds_raw <- DESeqDataSetFromHTSeqCount(
sampleTable = sample_table,
directory = data_dir,
design = formula(designs[1]))
在设置参数时直接编写公式:
dds_raw <- DESeqDataSetFromHTSeqCount(
sampleTable = sample_table,
directory = data_dir,
design = ~ genotype
为什么会这样?公式不能放在矢量中吗?