【发布时间】:2015-10-28 12:42:17
【问题描述】:
我有 10 个向量(v_1 到 v_10),我需要将它们全部与另一个向量 v_mult(即 v_1*v_mult、v_2*v_mult 等)相乘。如何在 for 循环中解决此问题?我坚持循环解决方案(我没有找到),因为它是更大分析的一部分。
v_10<-c(2, 3, 5, 8)
v_20<-c(3, 9, 0, 1)
v_30<-c(15, 9, 6, 0)
v_40<-c(4, 9, 6, 1)
v_50<-c(1, 7, 3, 9)
v_60<-c(5, 9, 5, 1)
v_70<-c(5, 8, 2, 6)
v_80<-c(5, 8, 1, 6)
v_90<-c(5, 0, 1, 6)
v_10<-c(2, 8, 1, 0)
v_mult<-c(8, 5, 1, 9)
【问题讨论】:
-
您可以从将 v_1 到 v_10 添加到列表中开始。然后你可以使用循环或 lapply。
-
这些向量可能不仅应该在一个列表中,而且应该
cbinded 到一个矩阵中。然后你可以做m * v_mult。 -
当你发现自己有这样的变量时,退一步想想更合适的数据结构。给变量编号是从不合适的。在这种情况下,矩阵是合适的。在其他情况下,嵌套列表结构可能会。
标签: r loops vector vector-multiplication