这似乎是一项简单的任务,在这里和其他地方查找之后,我并没有在R上找到解决方案.我有两个矩阵,一个是字符串值,另一个是逻辑值.

a <- matrix(c(
              "A", "B", "C"
              ))

b <- matrix(c(
              T, F, T
              ))
> b
      [,1]
[1,]  TRUE
[2,] FALSE
[3,]  TRUE
> a
     [,1]
[1,] "A"
[2,] "B"
[3,] "C"

我需要创建第三个矩阵,第一个矩阵中的值在第二个矩阵中为真,剩下的矩阵中为NA,如下所示:

> C
      [,1]
[1,]  "A"
[2,]  NA
[3,]  "C"

  • 我如何实现上述结果?

推荐答案

C <- matrix(a[ifelse(b, T, NA)], ncol = ncol(a))

R相关问答推荐

以R为基数排列奇数个图

根据列表中项目的名称多次合并数据框和列表

对lme 4对象运行summary()时出错(diag中的错误(from,names = RST):对象unpackedMatrix_diag_get找不到)

R创建一个数据透视表,计算多个组的百分比

在R中创建一个包含转换和转换之间的时间的列

Highcharter多次钻取不起作用,使用不同方法

如何在区分不同条件的同时可视化跨时间的连续变量?

在GGPLATE中将突出的点放在前面

提取具有连续零值的行,如果它们前面有R中的有效值

将小数分隔符放在R中的前两位数字之后

您是否可以折叠R中的重复行,同时保留基于所选列的值?

将重复项转换为NA

使用范围和单个数字将数字与字符串进行比较

将统计检验添加到GGPUBR中的盒图,在R

`-`是否也用于数据帧,有时使用引用调用?

以任意顺序提取具有多个可能匹配项的组匹配项

如何在GALT包的函数&geom_x样条线中调整线宽

无法保存gglot的所有pdf元素

对计算变量所有唯一值的变量进行变异

当y为负值时,无法使stat_cor正确定位到底部?