小编Edw*_*ong的帖子

找到最大绝对值,同时保留+或 - 符号

如果我有一个矩阵:

mat=matrix(c(-21,14,28,17,-16,-9,-17,-30,18), nrow=3)
mat
          [,1]   [,2]  [,3]
     [1,]  -21     17    17
     [2,]   14    -16   -30
     [3,]   28     -9    18
Run Code Online (Sandbox Code Playgroud)

我可以简单地用最高绝对值来隔离

max(abs(mat))
Run Code Online (Sandbox Code Playgroud)

但是,如何保留标志,以便返回-30?对于某些上下文,我有大量的矩阵,我需要一个命令来隔离所有这些中的最高绝对数,包括符号(有些将是正数,其他是负数).

提前致谢!

r matrix

9
推荐指数
2
解决办法
6780
查看次数

更改 ggplot2 中的 Y 轴中断

我有这个代码来给出如下所示的图表:

d=ggplot(df, aes(x=Year, y=NAO_Index, width=.8)) +
+ geom_bar(stat="identity", aes(fill=NAO_Index>0), position='identity', col = 'transparent') +
+ theme_bw() + scale_fill_manual(values=c("royalblue", "firebrick3"), name="NAO Oscillation", labels=c("Negative", "Positive"), guide=guide_legend(reverse=TRUE)) +
theme(legend.position=c(0.06, 0.92)) + 
+ theme(axis.title.x=element_text(vjust=-0.2)) +
+ geom_line(data=dfmoveav, aes(x=Year ,y=moveav)) +
+ ylab("NAO Index") +
+ ggtitle("NAO Index between 1860 and 2050") +
+ scale_x_continuous(breaks=c(seq(1860,2050,10))) +
+ scale_y_continuous(breaks=c(seq(-3.5,3.5,0.5)))
Run Code Online (Sandbox Code Playgroud)

我只关心最后一行。在图中,y 轴仅从 -3 到 2.5。我如何将它从 -3.5 提高到 3.5 以便它是偶数?

我确定我犯了一个简单的错误,但无法弄清楚!

在此处输入图片说明提前谢谢了。

r bar-chart

3
推荐指数
1
解决办法
9250
查看次数

使用 R 中的坐标从矩阵中删除值

我有两个相同大小的不同矩阵,一个有 NA 值,一个没有,例如:

mat=matrix(rnorm(9, mean=20, sd=10), nrow=3)
mat2=matrix(rnorm(9, mean=20, sd=10), nrow=3)
mat2[mat2<20]=NA

mat
             [,1]      [,2]     [,3]
     [1,] 21.67730 17.978427 17.24766
     [2,] 14.71108 16.970846 30.29543
     [3,] 28.65521  9.191494 18.83665

mat2
             [,1]     [,2]     [,3]
     [1,] 28.6093       NA 32.26887
     [2,]      NA       NA       NA
     [3,]      NA 20.19428 30.25038
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法识别 NA 值的坐标(行/列)mat2

which(is.na(mat2), TRUE)
Run Code Online (Sandbox Code Playgroud)

然后我如何使用这些坐标来替换 中的相同matNA?生产:

mat
             [,1]      [,2]     [,3]
     [1,] 21.67730        NA 17.24766
     [2,]       NA        NA       NA
     [3,]       NA  9.191494 18.83665
Run Code Online (Sandbox Code Playgroud)

这是最好的方法吗?提前致谢。

r matrix na

2
推荐指数
1
解决办法
503
查看次数

标签 统计

r ×3

matrix ×2

bar-chart ×1

na ×1