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:如何在给定行和列标签以及二元运算符的情况下构造数据框/矩阵的主要内容,如果未能解决你的问题,请参考以下文章