我不熟悉在R中使用列表函数。这是我第一次使用矩阵列表。我试图从矩阵列表中的每个矩阵中删除相同的列,但我不确定这是如何与R中的索引配合使用的。如何从R中的矩阵列表中删除每个矩阵中的列?
现在我在列表中有8个矩阵。每个矩阵是[120,56]。我想从每个矩阵中删除
行
列17-40和49-56。因此,我最终会列出8个[120,24]的矩阵。
这里是矩阵列表的一个例子,我有:
MatrixList <- list(maxT = matrix(1:56, 120, 56, byrow = TRUE),
minT = matrix(1:56, 120, 56, byrow = TRUE),
meanT = matrix(1:56, 120, 56, byrow = TRUE),
rain24 = matrix(1:56, 120, 56, byrow = TRUE),
rain5d = matrix(1:56, 120, 56, byrow = TRUE),
maxT2 = matrix(1:56, 120, 56, byrow = TRUE),
minT2 = matrix(1:56, 120, 56, byrow = TRUE),
meanT2 = matrix(1:56, 120, 56, byrow = TRUE))
我知道这似乎是一个简单的问题,但我是一个新手和我只是不知道如何使用的组合为循环和内部索引删除列。我宁愿学习如何有效地做到这一点,而不是为每个矩阵单独做,然后创建列表。
任何帮助,将不胜感激。谢谢!
感谢您的贡献。尽管迪文有一个可行的解决方案,但我的回答对我来说更容易。 – djhocking 2012-04-22 20:21:57
如果OP不明白我们的解决方案是完全相同的,那么它只会延迟他对R的工作原理的理解。 (我怀疑我的速度更快,虽然在这个大小的问题上没有任何意义。) – 2012-04-22 23:07:11
这并不是说我不明白它们是相同的,只是我仍然非常重视abc编程,即使效率更高,跳到交流节目更具挑战性。我想这只是归结为我更倾向于认为编程更像安德里的解决方案。这就是说,我非常高兴能通过“[”来学习TRUE“技巧”。这就是为什么我提高了两个。再次感谢! – djhocking 2012-04-22 23:40:19