5

我正在尝试使用 R 执行操作(理想情况下具有类似显示的输出),例如

> x<-1:6
> y<-1:6
> x%o%y
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    2    3    4    5    6
[2,]    2    4    6    8   10   12
[3,]    3    6    9   12   15   18
[4,]    4    8   12   16   20   24
[5,]    5   10   15   20   25   30
[6,]    6   12   18   24   30   36

通过加法而不是乘法找到每个条目。

我也有兴趣创建 36 个有序对 (1,1) 、 (1,2) 等...

此外,我想使用另一个向量,如

z<-1:4

在 x、y 和 z 之间创建所有可能的有序三元组。

我正在使用 R 来研究掷骰子大小不同时可能出现总数的可能性。

谢谢你的帮助!这个网站对我帮助很大。我感谢任何花时间回答陌生人问题的人。

更新所以我发现 `outer(x,y,'+') 会先做我想做的事。但我仍然不知道如何创建有序对或有序三胞胎。

4

2 回答 2

15

您的第一个问题很容易通过以下方式处理outer

outer(1:6,1:6,"+")

对于其他人,我建议您尝试一下expand.grid,尽管如果您稍微搜索一下,也有专门的组合和排列功能。

于 2011-07-13T19:40:55.360 回答
14

expand.grid可以回答你的第二个问题:

expand.grid(1:6,1:6)
expand.grid(1:6,1:6,1:4)
于 2011-07-13T19:44:49.367 回答