gpt4 book ai didi

python - 构 build 计矩阵 python

转载 作者:太空宇宙 更新时间:2023-11-03 14:50:03 26 4
gpt4 key购买 nike

假设我有一个 RxC contingency table 。这意味着有 R 行和 C 列。我想要一个维度为 RC × (R + C − 2) 的矩阵 X,其中包含行的 R − 1 “主效应”以及列的 C − 1 “主效应”。例如,如果您有 R=C=2 (R = [0, 1], C = [0, 1]) 和仅主效应,则有多种方法参数化设计矩阵 (X),但以下是一种方法:

1 0
0 1
1 0
0 0

请注意,这是 4 x 2 = RC x (R + C - 2),您省略了每行一个级别和每列一个级别。

对于 R 和 C 的任何值,即 R = 3、C = 4([0 1 2] 和 [0 1 2 3]),如何在 Python 中执行此操作?我只有 R 和 C 的值,但我可以使用它们来使用 np.arange(R)np.arange(C) 构造数组。

最佳答案

以下应该有效:

R = 3
C = 2

ir = np.zeros((R, C))
ir[0, :] = 1
ir = ir.ravel()

mat = []
for i in range(R):
mat.append(ir)
ir = np.roll(ir, C)

ic = np.zeros((R, C))
ic[:, 0] = 1
ic = ic.ravel()

for i in range(C):
mat.append(ic)
ic = np.roll(ic, R)

mat = np.asarray(mat).T

结果是:

array([[ 1.,  0.,  0.,  1.,  0.],
[ 1., 0., 0., 0., 1.],
[ 0., 1., 0., 1., 0.],
[ 0., 1., 0., 0., 1.],
[ 0., 0., 1., 1., 0.],
[ 0., 0., 1., 0., 1.]])

感谢大家的帮助!

关于python - 构 build 计矩阵 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45940233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com