R - 向量/数组加法

2023-12-07

我在向量或数组运算方面遇到了一些麻烦。

我有三个 3D 数组,我想找到它们的平均值。我怎样才能做到这一点?我们不能使用mean()因为它只返回一个值。

更重要的是数组中的一些单元格是 A 这意味着如果我只是将它们添加起来

A = (B + C + D)/3 

的结果也将显示 NA。

我怎样才能让它识别单元格是否不适用然后跳过它。

Like

 A = c(NA, 10, 15, 15, NA)
 B = c(10, 15, NA, 22, NA)
 C = c(NA, NA, 20, 26, NA)

我想要这些向量的平均值的输出是

(10, (10+15)/2, (15+20)/2, (15+22+26)/3, NA)

我们也无法使用na.omit,因为它会移动索引的顺序。

这是对应的代码。我希望这会有所帮助。

for (yr in 1950:2011) {
    temp_JFM <- sst5_sst2[,,year5_sst2==yr & (month5_sst2>=1 & month5_sst2<=3)]
       k = 0
       jfm=4*k+1
    for (i in 1:72) {
        for (j in 1:36) {
            iposst5_sst2[i,j,jfm] <- (temp_JFM[i,j,1]+temp_JFM[i,j,2]+temp_JFM[i,j,3])/3
        }
    }      
}

谢谢。

已经解决了。

纠正它的最简单方法如下所示。

iposst5_sst2[i,j,jfm] <- mean(temp_JFM[i,j,],na.rm=TRUE)

我不完全确定您想要的输出是什么,但我猜测您真正想要构建的不是三个 3D 数组,而是一个可以使用的 4D 数组apply on.

像这样的事情:

#Three 3D arrays...
A <- array(runif(1:27),dim = c(3,3,3))
B <- array(runif(1:27),dim = c(3,3,3))
C <- array(runif(1:27),dim = c(3,3,3))

#Become one 4D array
D <- array(c(A,B,C),dim = c(3,3,3,3))

#Now we can simply apply the function mean
# and use it's na.rm = TRUE argument.
apply(D,1:3,mean,na.rm = TRUE)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R - 向量/数组加法 的相关文章

  • 将类对象放置在向量中?

    我注意到我可以将一个类放置在一个向量中 这是我的程序 我收到以下错误 out blackjack exe blackjack obj blackjack obj error LNK2019 unresolved external symbo
  • 如何自动转换十六进制代码以将其用作 Java 中的 byte[]?

    我这里有很多十六进制代码 我想将它们放入 Java 中 而不需要向每个实体附加 0x 喜欢 0102FFAB 和我必须执行以下操作 byte test 0x01 0x02 0xFF 0xAB 我有很多很长的十六进制代码 有什么办法可以自动做
  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • 如何处理包内部的 R 数据?

    我正在开发的 R 包需要多个 R 数据对象 例如预先计算的模型和参数 目前 我将包的 数据 目录中的每个对象放在单独的 RData 文件中 使用该包时 用户可以使用 数据 功能将这些对象附加到他们的环境中 我想要的行为是 在加载包时 数据对
  • 当在另一行中找到元素逗号分隔时合并行

    您好 我有一个数据框 例如 species family Events groups 1 SP1 A 10 22 G1 2 SP1 B 7 G2 3 SP1 C D 4 5 6 1 3 G3 G4 G5 G6 4 SP2 A 22 10 G
  • R Shiny - 使用 DataTable 移动列名称

    我有一个非常复杂的闪亮代码 其中有几个面板和这些面板内的几个表格 启动应用程序时 列名称与列值正确对齐 但是 一旦我更改应用程序表格下的页码 列名称就会移动到左侧 而值仍保留在中间 如何强制应用程序使列名称与列值对齐 一个可重现的例子 li
  • 如何缩短 PHP if 语句?

    我有一个 if 语句 我需要将单个字符串与许多不同的选项进行比较 我在下面发布的代码非常清楚地表明了我的意思 我知道有两种方法可以做到这一点 但另一种甚至更长 那么 是否有任何函数可以以更短的方式实现类似的功能 我的要求可能看起来很愚蠢 但
  • dplyr:同一公式中全年每日值的总和以及特定每日值的总和

    Using df数据框 date lt rep as Date seq as Date 2003 01 01 as Date 2005 12 31 by 1 format Y m d 9 site lt c rep Site 1 3 109
  • 将一维数组转换为二维数组并加入 PHP [重复]

    这个问题在这里已经有答案了 我有这个一维数组 array1 Array coupon code gt GTY777R coupon description gt Credito 5 USD array2 二维数组 Array 0 gt Ar
  • R List with sub-list:将与规则匹配的所有元素提取到数组中

    我有一个 R 对象列表 它们又是各种类型的列表 我想要类别为 内部 的所有对象的 成本 值 实现这一目标的好方法是什么 如果我有一个数据框我会做类似的事情 my dataframe cost my dataframe category in
  • 在 R 中,如何将 SpatialPolygons* 转换为地图对象

    我正在尝试利用ProportionalSymbolMap在此定义的地图JSS论文 http www jstatsoft org v15 i05 为了绘制比例符号 我首先需要一个地图类的对象 The methods http www ncea
  • 在 ggplot2 上绘制世界地图

    我一直在尝试在 ggplot2 上绘制世界地图 我跟踪了电子邮件的线索 带 l 的 ggplot 地图 https stackoverflow com questions 9558040 ggplot map with l但我确实遇到了同样
  • rollapply用于累积窗口[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我试图弄清楚如何在数据窗口上使用 R rollapply 该窗口从数据的开头累积扩展 在时间 t 滚动应用应使用 1 t
  • 计算不包括当前值的平均值

    我有下表 a b avg 1 1 7 3 2 1 0 3 3 1 2 3 4 2 1 2 5 2 3 2 其中 a 和 b 是数据 avg 计算按 a 分组的 b 的平均值 现在我想计算按 a 分组的 b 的平均值 avg2 不包括当前值
  • ggplot2 - 在绘图顶部添加辅助 y 轴

    对于出版物 我需要向现有绘图添加第二个 y 轴 我遇到了一种方法来做到这一点 https rpubs com kohske dual axis in ggplot2 https rpubs com kohske dual axis in g
  • 将 12 小时字符时间转换为 24 小时

    我有一个包含字符格式时间的数据集 我试图将其从 12 小时格式转换为 24 小时格式 我做了一些搜索 但我发现的所有内容似乎都假设字符已经采用 24 小时格式 这是我工作时的一个例子 times lt c 9 06 AM 4 42 PM 3
  • 我可以在类变量中添加没有指定值的 PHP 数组键吗?

    我目前正在努力通过IBM 关于 CakePHP 的教程 http www 128 ibm com developerworks edu os dw os php cake1 html 有一次我遇到了这段代码
  • geom_polygon 的渐变填充

    此代码生成一个包含 3 个多边形的图表 我正在创建一个显示 3 个多边形的图表 如果有更好的方法来绘制多边形 我不太感兴趣 实际上这些多边形代表事件 并且这些事件有一个持续时间 首先 我感兴趣的是使用渐变填充每个多边形的可能性 librar
  • 如何在 R 中“推断”面板数据的值?

    我有一个带有 NA 值的面板数据 如下所示 uid year month day value 1 1 2016 8 1 NA 2 1 2016 8 2 NA 3 1 2016 8 3 30 4 1 2016 8 4 NA 5 1 2016
  • 为什么 char 数组需要 strcpy 而 char star 不需要 - 在 C 中使用结构

    我对这段代码有一个误解 typedef struct EXP int x char name char lastName 40 XMP main XMP a a name eaaa a lastName strcpy a lastName

随机推荐