【发布时间】:2017-06-13 04:24:30
【问题描述】:
我在 Python 2.7 的 rPy2 中有这个 matrix。
m = robjects.r.matrix(robjects.IntVector(range(15)), nrow=5)
print(m)
[,1] [,2] [,3]
[1,] 0 5 10
[2,] 1 6 11
[3,] 2 7 12
[4,] 3 8 13
[5,] 4 9 14
我正在尝试从该矩阵中提取 2 个切片。在第一个切片(下面的 1.)中,我需要提取一系列行的所有列。在第二个切片(下面的 2.)中,我需要提取一系列列的所有行。
1.
我需要提取第 2-4 行的所有列:
[2,] 1 6 11
[3,] 2 7 12
[4,] 3 8 13
我试过了:
a = m.rx([2:5], True)
但它不接受 Python 列表。
2.
我需要从第 2,3 列中提取所有行:
[,2] [,3]
[1,] 5 10
[2,] 6 11
[3,] 7 12
[4,] 8 13
[5,] 9 14
同样,我不知道如何指定列列表:
b = m.rx(True, [2:4])
不工作。
如何在rPy2 中实现矩阵m 的这些切片a 和b?
【问题讨论】:
-
能否使用 as.data.frame() 转换为数据框,然后使用您建议的子设置方法?
-
我希望只使用矩阵,因为我不会使用
data.frame()。矩阵足以满足我的要求。不能对矩阵进行切片吗? -
是的,确实如此。请改用
m <- as.matrix(m)。 -
啊,谢谢。但是,我正在使用 Python。所以,我想在 Python 中对
rPy2矩阵进行切片。 -
噢!抱歉没有仔细阅读!