仅使用来自向量

时间:2018-04-30 18:38:52

标签: r matrix operators matrix-multiplication dot-product

我确信这在R中很容易做到。我试图在R文档和在线搜索点产品但没有成功。

如何仅使用 x y 的R中的点积和指定的矢量 x >

x  <- c(first=1, second=2, third=3)
x2 <- c(first=1, second=2, third=3)
y  <- as.matrix(rbind(x2,x2))
y
y %*% x
  

y%*%x      [1]   x2 14   x2 14

     

这是有效的

现在,我将日期字段添加到 y ,但它失败了:

x  <- c(first=1, second=2, third=3)
x2 <- c(first=1, second=2, third=3,anchor=as.Date('2017-04-01'))
y  <- as.matrix(rbind(x2,x2))
y
y %*% x
  

x%*%y中的错误:不一致的参数

这是一个玩具示例,但我可能在矩阵中有数百个不友好的日期字段,因此仅删除anchor将不是一个可接受的解决方案。自动删除任何问题字段都可视为有效。

1 个答案:

答案 0 :(得分:0)

y矩阵中必须只有3列(而不是4列)才能使用3个元素向量执行此操作。

在您的示例中,您可以使用其名称显式指定要使用的列:

y[,c("first","second","third")] %*% x

或范围:

y[,1:3] %*% x