【发布时间】:2012-10-05 00:14:34
【问题描述】:
我已经看到了如何在公式中使用 ~ 运算符。例如y~x 表示:y 分布为 x。
但是我真的很困惑 ~0+a 在这段代码中的含义:
require(limma)
a = factor(1:3)
model.matrix(~0+a)
为什么只是model.matrix(a) 不起作用?为什么model.matrix(~a) 的结果与model.matrix(~0+a) 不同?最后这里的~操作符是什么意思?
【问题讨论】:
-
鉴于您的自我回答,我认为这不是
R的具体问题,而是关于线性模型和公式符号的更一般的问题。 -
如果您可以访问它,您可能需要查看定义此符号的论文:jstor.org/stable/2346786(由 Wilkinson 和 Rogers 撰写,因此此符号通常称为“Wilkinson-Rogers 符号”跨度>
-
@mnel:这是将 ~a-1 作为无截距公式的 R 特定符号。我只是在解决我长期面临的理解 R 公式的问题。
-
@BenBolker - 感谢您的链接,我知道有一篇论文定义了符号,但找不到!
-
@BenBolker:谢谢你的链接。
标签: r