R:如何在给定行和列标签以及二元运算符的情况下构造数据框/矩阵

Posted

技术标签:

【中文标题】R:如何在给定行和列标签以及二元运算符的情况下构造数据框/矩阵【英文标题】:R: How to construct a dataframe/matrix given the row and column labels and a binary operator 【发布时间】:2015-01-13 12:04:32 【问题描述】:

我有一个数字向量:

> n <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

还有一个幂向量:

> p <- c(1, 2, 3, 4, 5)

我想生成一个10行5列的数据框,其行依次由向量n的成员标记,其列由向量p的成员标记,按顺序排列,这样位于第 i 行和第 j 列的单元格的内容将是标记行的数字的标记列的数字的幂。例如,第 3 行与第 2 列相交的单元格内容为 9,因为 9 = 3^2。

我还想知道如何生成类似结构的矩阵。

谢谢。

【问题讨论】:

【参考方案1】:

你可以试试

m1 <- outer(n, p, FUN='^')
dimnames(m1) <- list(n, p)
as.data.frame(m1)

【讨论】:

谢谢。听起来是一个好主意。但是如果操作符比 '^' 更复杂,需要我自定义定义呢? @Evan Aad 您可以定义一个自定义函数。 outer(n, p, FUN=function(x,y) paste(x,y, sep=''))

以上是关于R:如何在给定行和列标签以及二元运算符的情况下构造数据框/矩阵的主要内容,如果未能解决你的问题,请参考以下文章

DataFrame & Series

如何删除 C++ 给定矩阵中的特定行和列?

二维数组3:搜索二维矩阵

jQuery实现表格冻结行和列

如何从 WPF 中网格内的标签中获取行和列信息?

在 R 中,使用 rle(运行长度编码)的结果,包括命名的行和列标题