我有3个数据帧(df1、df2、df3),每个数据帧有1274行和2192列.我想计算当单元格的值与df1中的0.968、df2中的0.972和df3中的0.909相匹配时出现的次数.请注意,单元格必须位于完全相同的位置(相同的行号和列号).

实例

df1

| 0.968 | 0.526 |
| 0.938 | 0.632 |
| 0.873 | 0.968 |

df2

| 0.342 | 0.972 |
| 0.545 | 0.231 |
| 0.434 | 0.972 |

df3

| 0.673 | 0.812 |
| 0.128 | 0.764 |
| 0.909 | 0.909 |

答案应该是:1

使用循环是解决这个问题的最佳 Select 吗?

推荐答案

另一种可能的解决方案:

sum((df1 == 0.968) *  (df2 == 0.972) * (df3 == 0.909))

#> [1] 1

R相关问答推荐

如何将多个数据帧附加到R中的多个相应的CSV文件中?

将一个载体的值相加,直到达到另一个载体的值

卸载安装了BRM的模型发出的警告

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

在(g)子中使用asserable字符

如何使用R Shiny中的条件面板仅隐藏和显示用户输入,同时仍允许运行基础计算?

如何删除R中除某些特定名称外的所有字符串?

如果行和大于值,则过滤

如何在格子中添加双曲曲线

Ggplot2中的重复注记

使用较长的查询提取具有部分匹配的列表中的较短目标,

从外部文件读取多个值作为字符向量

找出二叉树中每个 node 在R中的深度?

基于R中的间隔扩展数据集行

如何将网站图像添加到带有极坐标的面包裹条形图?

如何将Which()函数用于管道%>;%

我们如何在R中透视数据并在之后添加计算

如果满足条件,则替换列的前一个值和后续值

Broom.Mixed::Augment不适用于Sample::分析

排序R矩阵的行和列