R 按行填充数组

2024-02-12

我想做一些矩阵运算,最好使用 3 维(或更高)维数组。如果我想填matrices按行有一个参数(拜罗 = TRUE)但是没有这样的选项来创建/填充多维array。我能够实现它的唯一方法是使用aperm转置由列填充的数组。例如:

arr.1 <- array(1:12, c(3,2,2))

arr.1

arr.2 <- aperm(arr.1, c(2,1,3))

arr.2

生成正确的结果,即按行填充的 2,3,2 维数组。必须从 Column x Row x Range 数组向后工作才能得到 Row x Column x Range 数组,这似乎有点违反直觉。这可能是以前 f77 编码的坏习惯,还是我忽略了一些简单的事情?


R 中的数组由以下内容填充首先遍历第一维度。因此,首先遍历第一个维度,然后遍历第二个维度,然后遍历第三个维度(如果可用)。

如果是矩阵:

array(c(1,2,3), dim = c(3,3))

     [,1] [,2] [,3]
[1,]    1    1    1
[2,]    2    2    2
[3,]    3    3    3

或者通过赋值:

M <- array(dim = c(3,3))
M[,] <- c(1,2,3)
M

     [,1] [,2] [,3]
[1,]    1    1    1
[2,]    2    2    2
[3,]    3    3    3

分配给第二个维度很容易:

M <- array(dim = c(3,3))
M[,2:3] <- c(1,2,3)
M

     [,1] [,2] [,3]
[1,]   NA    1    1
[2,]   NA    2    2
[3,]   NA    3    3

但分配给第一维更加棘手。以下没有给出预期结果:

M <- array(dim = c(3,3))
M[2:3,] <- c(1,2,3)
M

     [,1] [,2] [,3]
[1,]   NA   NA   NA
[2,]    1    3    2
[3,]    2    1    3

通过首先遍历第一个维度,然后遍历第二个维度来填充数据。我们想要的是先穿越第二维度,然后才是第一维度。所以我们必须aperm https://stat.ethz.ch/R-manual/R-devel/library/base/html/aperm.html数组(或在矩阵的情况下转置)。

M <- array(dim = c(3,3))
Mt <- aperm(M)
Mt[,2:3] <- c(1,2,3)
M <- aperm(Mt)
M

     [,1] [,2] [,3]
[1,]   NA   NA   NA
[2,]    1    2    3
[3,]    1    2    3

也许有更优雅的方法来完成我不知道的最后一项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 按行填充数组 的相关文章

  • 渲染函数的反应性参数

    我在 Flexdashboard 中有一个表 其列数可以更改 我可以动态计算列的对齐方式 默认对齐方式 23 45作为字符向量 因此左对齐该值 尽管它是一个数字并且应该右对齐 问题是我无法将此对齐传递回renderTable作为一个值ali
  • 嵌套循环中的索引

    我是 R 和这个网站的新手 我的目标是创建一个 R 函数 在 ggplot2 中生成特殊类型的箱线图 这肯定是不必要的晦涩难懂的代码 我首先需要通过计算稍后希望绘制的变量来处理其中的潜在输入 我首先生成一些随机数据 称为datos c1 r
  • 从数据库结果生成多维数组的递归函数

    我正在编写一个函数 它接受页面 类别数组 来自平面数据库结果 并根据父 ID 生成嵌套页面 类别项目数组 我想递归地执行此操作 以便可以完成任何级别的嵌套 例如 我在一个查询中获取所有页面 这就是数据库表的样子 id parent id t
  • Typescript 参数 - 对象的通用数组和对象键的数组(部分)

    我想要一个接受对象数组和一些对象键数组的方法 该方法将返回对象值数组的数组 但仅返回选定键的数组 data firstName Jane lastName Doe firstName John lastName Doe fields fir
  • 将多个对齐的绘图放置在一页上时避免浪费空间

    我想将四个图放在一个页面上 轴标签应仅打印在最边缘 即x仅用于底部图表的轴标签 以及y仅左图的轴标签 这既适用于整个轴的名称 也适用于各个刻度线 我可以使用以下代码生成一些内容 pdf file ExampleOutput pdf widt
  • xts 函数不将我的 POSIXct 日期视为适当的基于时间的对象

    我创建了一个包含两列的数据框 gt head data frame Date Rainfall 1 1992 01 06 14 00 00 0 3 2 1992 01 06 15 00 00 0 2 3 1992 01 06 16 00 0
  • R中按字母顺序对每一行字符串进行排序

    我环顾四周 似乎找不到解决这个问题的好方法 我有一个包含行名称的列 我想按字母顺序对每一行进行排序 以便稍后可以识别具有相同名称但顺序不同的行 数据如下 names lt c John D Josh C Karl H John D Bob
  • 从字节数组中删除多余的“空”字符并转换为字符串[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我已经为此工作了一段时间 但在这里没
  • 在R中,如何平均空间网格正方形上的空间点数据

    现在设法解决问题 我有一组大约 50 000 个点 它们具有坐标和一个与其关联的值 我希望能够将点放入网格中 对落在网格正方形中的所有点的关联值进行平均 所以我想最终得到一个对象来识别每个网格方块并给出网格方块内的平均值 如果有帮助的话 我
  • 使用带有通配符的 jquery grep 搜索对象数组

    我正在使用 jquery grep 搜索对象数组 并希望在搜索中包含通配符 例如 我有一个数组如下 courses code ENCH3TH otherFields otherStuff code ENCH3THHS1 otherField
  • 如何获取C++动态数组的大小

    我正在学习 C 我需要创建结构Airplane并与之合作 我的结构飞机 h include stdafx h using namespace std struct Airplane string destination int number
  • 如何通过文本搜索返回 JSON 数组中项目的索引位置?

    这是我的 JSON 数组 var planets Name Mercury Temperature 427 C Position 1 Name Venus Temperature 462 C Position 2 Name Earth Te
  • 如何选择独特点

    我是一名 R 程序员新手 我有以下一系列观点 df lt data frame x c 1 2 3 4 y c 6 3 7 5 df lt df gt mutate k 1 df lt df gt full join df by k df
  • rpy2 在从 R 到 Python 的数据帧中处理 NA/缺失值时出现问题

    我在使用rpy2包进行转换时遇到问题dataframe将 R 中的内容保存到 Python 中 import os os environ R HOME Library Frameworks R framework Resources imp
  • 在 R 中使用 randomforest() 进行分类?

    我最初有一个由 N 行 12 列组成的数据框 最后一列是我的班级 0 或 1 我必须将整个数据框转换为数字 training lt sapply training temp as numeric 但后来我认为我需要将类列作为因子列来使用 r
  • 将 data.frame 的列中的值替换为另一个 data.frame 中的值

    我的情况是 我有一个数据框 其中有一列填充了整数 1 到 6 我想用更具描述性的标签替换这些整数 这些标签在另一个充当 键 的数据框中提供 V1 V2 1 1 LABEL1 2 2 LABEL2 3 3 LABEL3 4 4 LABEL4
  • 无需递归即可展平多个嵌套数组的数组 - javascript

    也许这是一个愚蠢的问题 但我无法意识到是否可以在不使用递归的情况下展平多维数组 我用递归编写了一种解决方案 function transform arr var result arr forEach flatten function fla
  • R闪亮的html小部件之间的交互

    我正在开发一个 R 闪亮应用程序 它使用多个 html 小部件 特别是网络D3 d3热图 and 和弦诊断 这些小部件单独工作正常 但是 在同一页面中使用它们会留下一个空格处他们应该在哪里 这是显示错误的可重现代码 在 UI 中注释绘图线
  • Shiny 中的模态对话框:可以调整宽度但不能调整高度

    在我的 Shiny 应用程序中 我有几个来自闪亮BS 包的模式窗口 我可以像这样调整这些模式窗口的宽度 tags head tags style HTML modal lg width 1200px abs 1 background col
  • 反转默认比例梯度ggplot2

    我是新手 我正在尝试设计热图 这是我的代码 ggplot gd aes Qcountry Q6 1 Q6d order TRUE geom tile aes fill prob colour white theme minimal labs

随机推荐