首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R:如何存储向量的向量

R:如何存储向量的向量
EN

Stack Overflow用户
提问于 2010-11-13 21:13:40
回答 2查看 6.2K关注 0票数 4

我正在尝试编写一个函数来确定x(一点)和y(一组n个点)之间的欧几里得距离。我应该如何将y传递给函数?到目前为止,我使用的矩阵是这样的:

代码语言:javascript
运行
复制
     [,1] [,2] [,3]
[1,]    0    2    1
[2,]    1    1    1

它会将点(0,2,1)和(1,1,1)传递给该函数。

但是,当我将x作为正常(列)向量传递时,这两个变量在函数中不匹配。我要么转置x或y,要么以另一种方式保存向量的向量。

我的问题是:在R中保存多个向量的标准方法是什么?(我的矩阵y)

这只是我的y转置,或者可能是一个列表或数据帧?

EN

Stack Overflow用户

发布于 2010-11-14 03:47:35

参数为1的应用函数似乎是最明显的:

代码语言:javascript
运行
复制
> x
     [,1] [,2] [,3]
[1,]    0    2    1
[2,]    1    1    1
> apply(x , 1, function(z) crossprod(z, 1:length(z) )  )
[1] 7 6
> 2*2+1*3
[1] 7
> 1*1+2*1+3*1
[1] 6

因此,如果你想要距离,那么差值到选定点的叉积的平方根似乎是可行的:

代码语言:javascript
运行
复制
> apply(x , 1, function(z) sqrt(sum(crossprod(z -c(0,2,2), z-c(0,2,2) ) ) ) )
[1] 1.000000 1.732051
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4172667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档